par
zeus » 19 févr. 2010, 23:26
Bonsoir,
Tout d'abord, je vais commencer par un conseil d'ordre général : indente ton code
Très sincèrement, lorsque j'ai voulu vérifier si ton compte avait un soucis, je n'ai pas pu avant de le ré-indenter. Et, un jour, tu vas te mélanger les pinceaux dans tes accolades et tu ne pourras plus lire ton code
Voici ton code ré-indenté :
<?php
$connect = mysql_connect('localhost', 'user', 'pass') or die ('Error connecting to mysql');
mysql_select_db(database);
$q1 = "SELECT image_path, duration, title, title_url FROM video ORDER BY rand()";
$r1 = mysql_query($q1) or die(mysql_error());
if(mysql_num_rows($r1) > '0')
{
while ($row = mysql_fetch_assoc($r1))
{
$row["image_path"] = str_replace("%s", "_120", $row["image_path"]);
echo '
<ut_response status="ok"><video_list><video>
<title>'.$row[title].'</title>
<run_time>'.$row[duration].'</run_time>
<url>vin/video/'.$row[title_url].'</url>
<thumbnail_url>file/pic/video/'.$row[image_path].'</thumbnail_url>
</video></video_list></ut_response>';
}
}
Ensuite, si tu veux tester si un nombre est supérieur à un autre, pourquoi le comparer à une chaine :
if(mysql_num_rows($r1) > 0) //Si tu mets '0', PHP va commencer par le transformer en 0, donc autant écrire directement 0
Sinon, en ce qui concerne la résolution de ton problème, si tu exécutes ta requête directement depuis PhpMyAdmin, est-ce qu'elle te retourne bien plusieurs résultat différent ?
Bonsoir,
Tout d'abord, je vais commencer par un conseil d'ordre général : indente ton code
Très sincèrement, lorsque j'ai voulu vérifier si ton compte avait un soucis, je n'ai pas pu avant de le ré-indenter. Et, un jour, tu vas te mélanger les pinceaux dans tes accolades et tu ne pourras plus lire ton code
Voici ton code ré-indenté :
[php]
<?php
$connect = mysql_connect('localhost', 'user', 'pass') or die ('Error connecting to mysql');
mysql_select_db(database);
$q1 = "SELECT image_path, duration, title, title_url FROM video ORDER BY rand()";
$r1 = mysql_query($q1) or die(mysql_error());
if(mysql_num_rows($r1) > '0')
{
while ($row = mysql_fetch_assoc($r1))
{
$row["image_path"] = str_replace("%s", "_120", $row["image_path"]);
echo '
<ut_response status="ok"><video_list><video>
<title>'.$row[title].'</title>
<run_time>'.$row[duration].'</run_time>
<url>vin/video/'.$row[title_url].'</url>
<thumbnail_url>file/pic/video/'.$row[image_path].'</thumbnail_url>
</video></video_list></ut_response>';
}
}
[/php]
Ensuite, si tu veux tester si un nombre est supérieur à un autre, pourquoi le comparer à une chaine :
[php]if(mysql_num_rows($r1) > 0) //Si tu mets '0', PHP va commencer par le transformer en 0, donc autant écrire directement 0[/php]
Sinon, en ce qui concerne la résolution de ton problème, si tu exécutes ta requête directement depuis PhpMyAdmin, est-ce qu'elle te retourne bien plusieurs résultat différent ?