[ PHP ] une petite question...

une petite question... [ PHP ] - PHP - Programmation

Marsh Posté le 24-05-2003 à 11:06:20    

Salut
 
je suis en train de finir un petit script de Gestion de Downloads :) donc sur ma page d'index, ça affiche les catégories des downloads, mais quand la base est vide ça ne marche pas :sweat: ça me met ça:
 

Code :
  1. Warning: Unable to jump to row 0 on MySQL result index 2 in c:\program files\easyphp\www\download\disp_cat.php on line 10
  2. Warning: Unable to jump to row 0 on MySQL result index 2 in c:\program files\easyphp\www\download\disp_cat.php on line 11
  3. Warning: Unable to jump to row 0 on MySQL result index 2 in c:\program files\easyphp\www\download\disp_cat.php on line 12


 
dans disp_cat.php aux lignes citées y'a ça:
 

Code :
  1. $id = mysql_result($req,$i,"id" );
  2. $nom_cat = mysql_result($req,$i,"nom_cat" );
  3. $desc_cat = mysql_result($req,$i,"desc_cat" );


 
comment on fait pour plus avoir ces lignes d'erreur ? j'avais pensé a un if else pour marquer un truc du style "la base est vide" à la place :D mais ça fait longtemps que g + touché au PHP :sweat:  
 
si qqun peut m'aider c cool :jap:

Reply

Marsh Posté le 24-05-2003 à 11:06:20   

Reply

Marsh Posté le 24-05-2003 à 11:21:54    

 $db = mysql_connect("sql.free.fr", "login", "password" );
  mysql_select_db("login",$db);
  $req = mysql_query("SELECT * FROM matable1 WHERE champ='1' AND champ2='$var1' ORDER BY id DESC" );
  $res = mysql_numrows($req);
 
  if ($res == 0)
  {
       ... resultat de la requete vide...
   }        
   else
   {
       des resultats ont été trouvé.

Reply

Marsh Posté le 24-05-2003 à 11:49:45    

Code :
  1. $r = mysql_fetch_array($req);
  2. if ($r) {
  3.   $id = $r['id'];
  4.   $nom_cat = $r['nom_cat'];
  5.   $desc_cat = $r['desc_cat'];
  6. }

Reply

Marsh Posté le 24-05-2003 à 12:59:24    

vais tester la 2eme solution, je connais pas mais ça a l'air pas mal :D

Reply

Marsh Posté le 24-05-2003 à 13:05:29    

mysql_fetch_array(), ca lit une ligne du résultat, la met dans un tableau et passe à la ligne suivante. Pratique pour parcourir un résultat.
Par exemple :

Code :
  1. $res = mysql_query(...);
  2. if (! $res) {echo 'ERREUR'; exit;}
  3. while ($r = mysql_fetch_array($res)) {
  4.   echo '<tr>';
  5.   echo '<td>' . $r['colonne1'] . '</td>';
  6.   echo '<td>' . $r['colonne2'] . '</td>';
  7.   echo "</tr>\n";
  8. }


Message édité par mrbebert le 24-05-2003 à 13:07:45
Reply

Marsh Posté le 24-05-2003 à 13:05:45    

de rien.

Reply

Marsh Posté le 24-05-2003 à 13:47:03    

yeah merci ça marche, g + les erreurs maintenant :)  
 
bon je dois mettre un peu en forme ma page d'index, g encore quelques erreurs, j'uploaderai mon script tout a l'heure pour vous montrer :jap:

Reply

Marsh Posté le 24-05-2003 à 17:07:33    

encore 1 question :D  
 
quand on a un listing avec un $i++ ça donne ça:
1
2
3
4
etc...
 
moi j'aimerais faire ça:
 
1    2
3    4
5    6
etc...
 
c possible ? :??:

Reply

Marsh Posté le 24-05-2003 à 17:20:43    

tu parles de l'affichage là? bah oui c'est possible :p  
tous les deux enregistrements, tu passes àla ligne

Reply

Marsh Posté le 24-05-2003 à 18:06:55    

dropsy a écrit :

tu parles de l'affichage là? bah oui c'est possible :p  
tous les deux enregistrements, tu passes àla ligne


 
ben comment on fait pour le faire comprendre de passer à la ligne tous les 2 enregistrements ? :??: c pas un truc avec while ?

Reply

Marsh Posté le 24-05-2003 à 18:06:55   

Reply

Marsh Posté le 24-05-2003 à 20:39:48    

Negueu a écrit :


 
ben comment on fait pour le faire comprendre de passer à la ligne tous les 2 enregistrements ? :??: c pas un truc avec while ?


 
Tu utilises l'opérateur modulo.
Si modulo i/2  == 0, alors retour à la ligne :
 
if (($i % 2) == 0)
{
echo "<br>"
}
 
Avec le meme mecanisme, tu peux faire n colonnes.
 
vw


Message édité par Combi_A_Vendre le 24-05-2003 à 20:48:59
Reply

Marsh Posté le 24-05-2003 à 22:34:15    

Combi_A_Vendre a écrit :


 
Tu utilises l'opérateur modulo.
Si modulo i/2  == 0, alors retour à la ligne :
 
if (($i % 2) == 0)
{
echo "<br>"
}
 
Avec le meme mecanisme, tu peux faire n colonnes.
 
vw


 
ah ouais, pas con ce truc [:xp1700]  
où allez vous chercher tout ça ? ;)

Reply

Marsh Posté le 24-05-2003 à 23:06:26    

Negueu a écrit :


 
ah ouais, pas con ce truc [:xp1700]  
où allez vous chercher tout ça ? ;)  


 
Ben c'est un métier, donc pas de mérite...


Message édité par Combi_A_Vendre le 24-05-2003 à 23:08:01
Reply

Marsh Posté le 25-05-2003 à 09:39:14    

Negueu a écrit :


 
ah ouais, pas con ce truc [:xp1700]  
où allez vous chercher tout ça ? ;)  


 [:rofl]  [:rofl]  [:rofl] Use the brain, Luke !


---------------
Le site de ma maman
Reply

Marsh Posté le 25-05-2003 à 10:59:06    

Cherrytree a écrit :


 [:rofl]  [:rofl]  [:rofl] Use the brain, Luke !


 
ouais ça me vient pas à l'idée d'utiliser des trucs comme ça :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed