2014-01-26 2 views
0

Я извлекаю информацию из своей базы данных и превращаю ключевые слова в флажки в качестве параметров.Создание флажков из базы данных MySQL, затем выбор эха

В моем MySQL у меня есть столбец «ключевые слова», который содержит несколько ключевых слов, которые я перехожу в параметры. Например, ключевые слова содержат нечто вроде «ну, среднего, редкого, кетчупа, майонеза, горчицы».

В моем PHP скрипте, я взрываюсь и обрезка ключевых слов для создания флажков:

$i=0; 
foreach(explode(',', $keywords) as $keyword) { 
    $keyword = trim($keyword); 
    $chkname = "checkbox{$i}"; 
    $i = $i+1; 
    echo "<input type='checkbox' name='$chkname' value='$keyword'> $keyword <br /><br />"; 

    } 
     echo '<input type="submit" name="button" id="button" value="Add to Order"/> </form> </td></tr></table>'; 
} 

Проблемы я имею 1. Я не знаю, если это правильный способ сделать это , 2. Мне нужно выяснить, как отменить выбор пользователей. Если они выбирают «средний» и «кетчуп», мне нужно эхо, это были выборы.

Вот мой код для этой страницы. ЛЮБОЕ руководство, руководство или ценная информация будут оценены больше, чем вы знаете. Я выберу ответ. Пожалуйста, дайте мне знать, если вам нужно что-нибудь еще. Я новичок в этом сообществе.

<?php 

require("database.php"); //connect to the database 

if(isset($_GET['id'])){ 
    $id = $_GET['id']; 
} 

$result = mysqli_query($con,"SELECT * FROM menuitem WHERE id='$id' "); 
    if (!$result) { 
     printf("Error: %s\n", mysqli_error($con));// Displays the error that mysql will generate if syntax is not correct. 
     exit(); 
    } 


//DYNAMIC PHP PULLING IN THE DATA AND SPITTING OUT THE RESULTS 
while($row = mysqli_fetch_array($result)) 
{ 
    $id = $row['id']; 
    $description = $row['description']; 
    $picturepath = $row['picturepath']; 
    $name = $row['name']; 
    $price = $row['price']; 
    $keywords = $row['keywords']; 

    $dynamiclist = '<table align="center" width="60%" border="0" cellspacing="5" cellpadding="8"> 
         <tr height="20"></tr> 
         <tr> 
          <td width="70%" valign="top" align="left"> <br />' . $name . ' <br /><br />$' . $price . '<br /><br /> 
           <form id="form1" name="form1" method="post" action="cart.php"> 
            <input type="hidden" name="pid" id="pid" value=" ' . $id . '"/>'; 


    echo $dynamiclist; 

$i=0; 
foreach(explode(',', $keywords) as $keyword) { 
    $keyword = trim($keyword); 
    $chkname = "checkbox{$i}"; 
    $i = $i+1; 
    echo "<input type='checkbox' name='$chkname' value='$keyword'> $keyword <br /><br />"; 

    } 
     echo '<input type="submit" name="button" id="button" value="Add to Order"/> </form> </td></tr></table>'; 
} 
mysqli_close($con); //close the db connection 

?> 

<html> 
<body> 
</body> 
</html> 

ответ

0

Вы можете использовать параметр «checked» в своих тегах, чтобы установить флажок по умолчанию.

Для того, чтобы облегчить для себя, вы можете использовать следующий метод именования флажков:

echo '<input type="checkbox" name="chkboxes[]" value="'.$keyword.'" id="chk_'.$keyword.'" /><label for="chk_'.$keyword.'">'.$keyword.'</label>'."<br />\r\n" 

Если создать флажки с метками таким образом, люди могут также включить и отключить флажки, нажав текст за ним. Создавая их все с тем же именем, и идентификатором массива позади него (в квадратных скобках), вы можете получить доступ к ним в простом цикле в PHP после отправки формы:

if(isset($_POST['chkboxes'])) { 
    foreach($_POST['chkboxes'] as $chkbox) { 
    echo 'Checkbox checked: '.$chkbox."<br />\r\n"; 
    } 
} 
+0

еще один кусок посоветуйте, не связанную для флажков: Заменить Еогеасп (взрываются (' ' $ ключевые слова) как $ ключевое слово) { с $ keywordArray = взорваться (',', $ ключевые слова); foreach ($ keywordArray как $ keyword) { Если вы сделаете это по-своему, PHP будет выполнять команду explode() каждый раз, когда он проходит цикл. –

Смежные вопросы