Проблем с if($row[igri] == "0"

  • Автор Автор Anonymous
  • Начална дата Начална дата
A

Anonymous

Guest
Имам следния код:

PHP:
 <?php
$sql = mysql_query("SELECT * FROM `games` WHERE dobavil='$row[username]' AND accepted='yes' order by `id` DESC limit 5") or die(mysql_error());
echo "<table><tr><td>";
while($raw = mysql_fetch_array($sql)) {
$i = 1;
$id = ($raw['id']);
$game = ($raw['game']);
$image = ($raw['image']);
$ime = ($raw['ime']);
$dobavil = ($raw['dobavil']);
$q1234 = mysql_query("SELECT * FROM `games` WHERE dobavil='$row[username]' AND accepted='yes'");
$go1 = mysql_fetch_array($q1234);
$avatar=$go1['avatar'];

if($_GET['name']) {
$namee = htmlspecialchars($_GET['name']);
$sql = "SELECT * FROM users WHERE username = '$namee'";
$do = mysql_query($sql);
$row = mysql_fetch_array($do);

if($row[igri] == "0") {
echo "Няма качени игри!"; } else {
echo "<div class='pic'><a href='game_view.php?id=$id'><img src='$image' width='95' height='78' />$ime</a></div>";
}}

if($i == 1) { echo "</td><td>"; } else { $i = 0; echo "</td></tr><tr><td>"; }
}
echo "</td></tr></table>";
?>


Както се забелязва, трябва да се прави проверка дали потребителя качил игри. Ако е качил 0 игри, трябва да му изпише:
"Няма качени игри!", а ако е качил над 1 игра, да му излизат игрите, които е качил.

Кодът е част от файл за преглед на профил. Къде е грешката, защото когато не си качил игра, не изписва нищо?
 
Пак никъв резултат. Когато има дори 1 качена игра, излиза, а когато има 0 качени игри, не излиза текста....
 
nfarkt каза:
Пак никъв резултат. Когато има дори 1 качена игра, излиза, а когато има 0 качени игри, не излиза текста....

Ами като няма качени игри в полето на DB какво има? Празно ли е, ако е празно пробвай:

Код:
$row['igri'] == NULL

Ако пак не стане пробвай:

Код:
empty($row['igri'])

* Като това ти е частта за statement.
 
Разбира се, че съм задал default-а да е 0, все пак полето е INT, и се отнася за игри. Не съм чак толкова злетак в програмирането :D.
 
$row променлива няма в кода,които си дал,но явно е по-нагоре защото я има и в 1-вата заявка.Сигурно там нещо си объркал,дай да видим,не давай половината код не сме гадатели.
 
Страницата ми е над 1000 реда. Ето ти заявката за $row:

PHP:
<?php
if($_GET['name']) {
$namee = htmlspecialchars($_GET['name']);
$sql = "SELECT * FROM users WHERE username = '$namee'";
$do = mysql_query($sql);
$row = mysql_fetch_array($do);
 
nfarkt каза:
Имам следния код:

PHP:
 <?php
$sql = mysql_query("SELECT * FROM `games` WHERE dobavil='$row[username]' AND accepted='yes' order by `id` DESC limit 5") or die(mysql_error());
echo "<table><tr><td>";
while($raw = mysql_fetch_array($sql)) {
$i = 1;
$id = ($raw['id']);
$game = ($raw['game']);
$image = ($raw['image']);
$ime = ($raw['ime']);
$dobavil = ($raw['dobavil']);
$q1234 = mysql_query("SELECT * FROM `games` WHERE dobavil='$row[username]' AND accepted='yes'");
$go1 = mysql_fetch_array($q1234);
$avatar=$go1['avatar'];

if($_GET['name']) {
$namee = htmlspecialchars($_GET['name']);
$sql = "SELECT * FROM users WHERE username = '$namee'";
$do = mysql_query($sql);
$row = mysql_fetch_array($do);
$igri = $row['igri'];
if($igri !== NULL) {
echo "Няма качени игри!"; } else {
echo "<div class='pic'><a href='game_view.php?id=$id'><img src='$image' width='95' height='78' />$ime</a></div>";
}}

if($i == 1) { echo "</td><td>"; } else { $i = 0; echo "</td></tr><tr><td>"; }
}
echo "</td></tr></table>";
?>


Както се забелязва, трябва да се прави проверка дали потребителя качил игри. Ако е качил 0 игри, трябва да му изпише:
"Няма качени игри!", а ако е качил над 1 игра, да му излизат игрите, които е качил.

Кодът е част от файл за преглед на профил. Къде е грешката, защото когато не си качил игра, не изписва нищо?
 
nfarkt каза:
Страницата ми е над 1000 реда. Ето ти заявката за $row:

PHP:
<?php
if($_GET['name']) {
$namee = htmlspecialchars($_GET['name']);
$sql = "SELECT * FROM users WHERE username = '$namee'";
$do = mysql_query($sql);
$row = mysql_fetch_array($do);

Дебъгвай :mrgreen: Нека не си качил нито една игра и след това дай на $row['igri'] var_dump();
 
Така като ти гледам кода е супер голяма мешаница и някои от нещата нямат никакъв смисъл. Като например, защо правиш 2 заявки абсолютно едни и същи само, че на едната слагаш лимит а на другата не?

После какво е това $i?

Също така може ли да дадеш таблицата си в базата данни, самата и структора и на кое поле какви стойности трябва да му се задават, защото съм на 90% сигурен, че нещо там си оплескал.
 

Back
Горе