8791 sujets

Développement web côté serveur, CMS

Bonjour,

je n'arrive pas à sortir la valeur d'un Auto_increment d'une table (parmi plusieures dans une base de données)
En effet avec ce code, j'arrive seulement à balayer les infos de la première table mais pas des autres (car les indices pour row nes sont pas la pour les autres):
$query = mysql_query("SHOW TABLE STATUS FROM base_de_donnee");
		$row = mysql_fetch_array($query);
		$cle = $row[5];


merci d'avance pour votre aide
Salut newbiemac Smiley cligne ,

il existe plusieurs méthodes pour faire défiler les résultats d'une requête (while, foreach, etc...).

Voici un exemple :
$requete = "SHOW TABLE STATUS FROM $database";
$result = mysql_query($requete) or die("Erreur lors de l'exécution de la requête :<br /><strong>$requete</strong>");
while($ligne = mysql_fetch_assoc($result))
{
	echo '<strong>'.$ligne['Name'].' :</strong> '.$ligne['Auto_increment']."<br />\n";
}

A+ Smiley smile
merci t'es genial...

mais est-ce que tu pourrai juste m'expliquer ce que cela change?
j'ai un gros problème à m'imaginer comment cela influence la préparation du résultat de la requê^te...

en tout cas ça marche merci
Re',

je ne sais pas si tu parles du mysql_fetch_assoc ou du while donc...

Quand tu utilises la requête suivante avec mysql_fetch_array:
$requete = 'select idClient, nomClient from clients';
$result = mysql_query($requete);
$row = [b]mysql_fetch_array[/b]($result);
tu peux aussi bien utiliser $row[0] que $row['idClient'] alors qu'avec mysql_fetch_assoc tu ne peux utiliser que $row['idClient'] (ce qui prend un peu moins de ressources et, personnellement, je ne me sers jamais des $row[0] car je les trouve moins 'parlant' que le nom des zones Smiley murf ).

Pour ce qui est du while, en français on pourrait traduire par "continue tant que ce qui suit entre parenthèse est vrai" (petit rappel : le mysql_fetch_xxx retourne soit la ligne suivante correspondant à la requête soit FALSE quand il n'y a plus de résultats Smiley cligne ).
Donc pour résumer :
$row = mysql_fetch_array($query);
te retourne le premier résultat.
while ($row = mysql_fetch_array($query))
te retourne tous les résultats.

A+ Smiley smile