2009-10-13 4 views

Répondre

1

Vous pouvez utiliser mysql_data_seek() pour vérifier si la ligne existe 9:

if(mysql_data_seek($result, 8) !== false) { 
    // success, internal pointer is now at 9 
    // still need to call mysql_fetch to get the row 
} 

mais vous ne pouvez pas obtenir au pointeur interne à court de compter vous-même. L'utilisation d'une boucle for le maintient un peu plus au rang:

for($i = 0; $row = mysql_fetch_assoc($result); $i++) { 
    if($i == 8) // success 
} 
+0

Merci. Je savais que $ i ++ était une façon de le faire, j'espérais juste qu'il y avait un moyen plus propre. – Matthew

1
$i=0; 

while ($row = mysql_fetch_assoc($result)) 
{ 
    ++$i; 
    if($i==9) 
     echo "success"; 
} 
+0

Y at-il de toute façon le faire sans traiter avec $ i? Aucun moyen d'accéder à l'emplacement dans $ résultat? – Matthew

+0

Manquant le $ avant l'i var ainsi que vous incrémentez le compteur avant la vérification afin que l'indice de tableau zéro sera ignoré –

+1

Je suppose que sa "9ème rangée" est basée sur 1, donc je compte à partir de 1 Tu as raison de $ tho, mon php est rouillé. – Blindy

0
$i = 0; // Or 1 if need be 
while ($row = mysql_fetch_assoc($result)) 
{ 
    // echo "success" when i get to the 9th row 
    if($i == 9) { 
     echo "success"; 
    } 
    $i++; 
} 

ou

while ($row = mysql_fetch_array($result, MYSQL_NUM)) 
{ 
    if($row[8] != '') { 
    echo "success"; 
    } 
} 

ou

while ($row = mysql_fetch_assoc($result)) 
{ 
    if($row['column_name_of_the_ninth_field'] != '') { 
    echo "success"; 
    } 
} 
+1

Le deuxième exemple référence 8 dans la ligne $, pas le résultat $ – Matthew

+0

Fixé, Doit accéder à l'index 9e tableau maintenant –

+0

Je pense que vous avez mal compris la question – Matthew

0

Les méthodes détaillées déjà dans les autres réponses sont toutes des méthodes valides pour le faire.

si ce que vous cherchez vraiment à faire est de déplacer le pointeur interne du résultat 9 sans avoir à passer par une boucle, alors c'est ce que vous cherchez peut-être:

if (mysql_data_seek ($result,9)) echo "success"; 
Questions connexes