2013-07-16 2 views
-3

Хорошо, поэтому мой код ниже отображает два URL-адреса из базы данных, но я хочу иметь возможность разделить их и обновить строку, на которую нажимается изображение. Пример: два изображения выводятся, пользователи щелкают изображения слева, MySQL знает, какая строка обновляется в зависимости от того, какое изображение они нажали. В зависимости от изображения, которое они нажимают, он обновляет голоса изображения в MySQL. В идеале я хочу, чтобы «голосования» показывали вместо 112 и 156 соответственно из базы данных.PHP Разделение содержимого из цикла while?

Позвольте мне перефразировать, чтобы уточнить: мой код перекликается с двумя изображениями, выбранными из базы данных. Код должен сказать вам, что если вы его прочитаете. Оттуда я хочу иметь возможность отделить два изображения, чтобы я мог выполнить запрос, чтобы обновить определенную строку с этим изображением и обновить общее количество голосов, которое имеет изображение от votes до votes +1. Я попытался сделать это, но он будет обновлять голоса обеих строк на 1.

Как это сделать?

<?php 
    include_once('db.php'); 

    $selectURLSQL = "SELECT * FROM `urls` ORDER BY RAND() LIMIT 3"; 
    $selectURLQuery = mysql_query($selectURLSQL); 
    $URL_Row = mysql_fetch_array($selectURLQuery); 
?> 

<?php 
    while($URL_Row = mysql_fetch_array($selectURLQuery)) { 
?> 

<img class="img" name="img" src="<?php echo $URL_Row['url']; ?>" style="height:400px;width: 260px;">&nbsp;&nbsp;&nbsp;&nbsp; 

<?php 
    } 
?> 
<br /><br /> 
<span style="font-size:18px;font-family:trebuchet ms;">156 Vote-Ups</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<small>Vs.</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<span style="font-size: 18px; font-family: trebuchet ms;">112 Vote-Ups</span><br /><br /> 
+0

Кто-нибудь? :( – user2555621

+2

Все функции 'mysql_ *' [** официально устарели **] (http://j.mp/XqV7Lp) * (больше не поддерживается/поддерживается) * и будет [** удален **] (http://j.mp/11j2t6j) в будущем. Вы должны обновить свой код с помощью [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/msqli) для обеспечения будущей функциональности. –

+0

Спасибо, что это было очень бесполезно. Я знаю, что mysql_ устарел, но я не сделал этого. Так вы можете помочь или нет? Sheesh ... – user2555621

ответ

0

Произнесите стол urls структурирован следующим образом:

id | url | rank 

вы должны увеличивать rank колонки для каждого щелчка на изображении, соответствующее ссылку.

моя идея состоит в том, чтобы создать ссылку вокруг изображения, и эта ссылка будет содержать id изображения, поэтому он может быть передан в URL, как этот ?id=xxx

, если вы хотите, чтобы показать голоса вне цикла вы можете сохранить их временно в array

Ваш код:

<?php 
    include_once('db.php'); 

    $selectURLSQL = "select * from urls ORDER BY RAND() LIMIT 2"; 
    $selectURLQuery = mysql_query($selectURLSQL); 

    if (isset($_GET['id'])){ 
     $id = $_GET['id']; 
     $sql = "UPDATE urls set rank = rank+1 WHERE id = $id"; 
     mysql_query($sql); 
    } 

    $i = 0; 
    $votes = array(); 
    while ($URL_Row = mysql_fetch_array($selectURLQuery)): 
     $votes[$i++] = $URL_Row['rank']; 
    ?> 
     <a href="?id=<?php echo $URL_Row['id']; ?>"> 
      <img class="img" name="img" src="<?php echo $URL_Row['url']; ?>" style="height:400px;width: 260px;"> 
     </a> 
    <?php endwhile; ?> 


<br /><br /> 
<span style="font-size:18px;font-family:trebuchet ms;"><?php echo $votes[0]; ?> Vote-Ups</span> 
<small>Vs.</small> 
<span style="font-size: 18px; font-family: trebuchet ms;"><?php echo $votes[1]; ?> Vote-Ups</span><br /><br /> 
+0

Спасибо за ваш ответ. Работает отлично. Очень признателен. – user2555621

+0

Будьте более ясным в следующий раз пожалуйста! Теперь используйте систему голосования «Переполнение стека», чтобы проголосовать за ответ, если это полезно: p –

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