2013-12-10 2 views
0

Я пытаюсь создать сайт продвижения, когда зарегистрированный пользователь может получить бесплатное пиво. Если сотрудник ищет кого-то свое имя, идентификатор и посещаемость. Посещаемость показывает, получили ли они уже пиво. Если сотрудник нажимает кнопку, он отмечает в базе данных, что он получил пиво. Мои попытки просто не работают, но я пробовал все, что я нашел на форумах. Пожалуйста, помогите мне, что не так в моем коде, это сводит меня с ума.PHP SQL - обновить данные результата поиска

Таким образом, результаты работы показываются. Добавить кнопку отправки с командой, чтобы изменить значение посещаемостью от 0 до 1, где ID = '$% результат [' ID ']%'

выглядит следующим образом:

HTML

<input type="submit" name="submit" value="BEER TAKEN" /> 

PHP

$con=mysql_connect("localhost","user","pass") or die(mysql_error()); 
mysql_select_db("members") or die(mysql_error()); 

$find = strtoupper($find); 
$find = strip_tags($find); 
$find = trim ($find); 

$search = mysql_query("SELECT * FROM members WHERE name LIKE '%$find%'") or die(mysql_error()); 

while($result = mysql_fetch_array($search)) { 
    echo $result['id']; 
    echo $result['name']; 
    echo $result['attendance']; 
} 

// The part what doesnt work: 
if(isset($_POST['submit'])){ 
    mysqli_query($con, "UPDATE members SET attendance=1 WHERE id='%$result%['id']'"); 
} 

Пожалуйста, помогите!

+0

Один неуместны% здесь: 'WHERE ID = '$% результат% [' ID ']"); ' – MillaresRoo

+0

разрывы строк свободны, вы знаете.: P – Sammitch

+0

Где я подписываюсь? – Strawberry

ответ

2

Попробуйте следующее:

mysqli_query($con, "UPDATE members SET attendance=1 WHERE id='".$result['id']."'"); 

Той лишний '%' вызывает тревогу.

0

Используйте mysql_error(), чтобы узнать точную информацию о коде.

http://php.net/mysql_error

И точно так же, как наконечник, попробуйте объявить% $% результата [ «ID»] в качестве переменной, а затем использовать его в запросе. это может привести к чтению чистого кода.

0
mysql_select_db("members",$con); 

U должен передать вашу переменную соединения вместе с mysql_select_db.

Попробуйте этот код

<?php 
$con=mysql_connect("localhost","user","pass") or die(mysql_error()); 
mysql_select_db("members",$con) or die(mysql_error()); 

$find = strtoupper($find); 
$find = strip_tags($find); 
$find = trim ($find); 

$search = mysql_query("SELECT * FROM members WHERE name LIKE '%$find%'") or die(mysql_error()); 

while($result = mysql_fetch_array($search)) { 
    echo $result['id']; 
    echo $result['name']; 
    echo $result['attendance']; 
} 
    echo '<form name="subform" action="<samefilename>.php" method="POST"> 
     <input type="hidden" name="id" value='.$result['id'].' 
     <input type="submit name="submit" value="submit"> 
     </form>'; 


// The part what doesnt work: 
if(isset($_POST['submit'])){ 
    mysqli_query($con, "UPDATE members SET attendance=1 WHERE id=".$result['id']."); 
} 
?> 
Смежные вопросы