Faire un aray a partir de mysql
johnson
-
Alain42 -
Alain42 -
Bonjour,
j'aimerais former un tableau apres avoir fait une requete mysql :
mysql_query("SELECT nom, prenom FROM identity");
je voudrais pouvoir dire ensuite tableau (7 ; 2) et que ca me donne le prenom de la 7e personne ou bien tableau (3,1) et que ca me donne le nom de la 3e personnne
est-ce possibile ?
merci d'avance à vous
j'aimerais former un tableau apres avoir fait une requete mysql :
mysql_query("SELECT nom, prenom FROM identity");
je voudrais pouvoir dire ensuite tableau (7 ; 2) et que ca me donne le prenom de la 7e personne ou bien tableau (3,1) et que ca me donne le nom de la 3e personnne
est-ce possibile ?
merci d'avance à vous
11 réponses
-
salut,
essai ca :
<?php
$query = "SELECT nom, prenom FROM identity";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo $row['nom']. " - ". $row['age'];
?>
ca te conviens ?
-
salut et merci,
ton code ne permet d'afficher que le nom et prenom de la 1ere personne de la liste
mais si je voulais par exemple juste ceux de la 3e personne de la liste , comment dois je faire ? -
Bonsoir,
je pense qu'il veut plutôt stocker les résultats de sa requette dans un array qu'il viendra lire a sa guise après.
Essayes:<?php $query = "SELECT nom, prenom FROM identity"; $result = mysql_query($query); //on va charger les reponses dans un array à deux dimensions $tableauNP=array(); $i=0; while($row = mysql_fetch_array($result)){ $tableauNP[$i]['nom']=$row['nom']; $tableauNP[$i]['prenom']=$row['prenom']; $i++; } //si tu veux le nom du 5 ième: echo "Nom du cinqieme: ".$tableauNP[4]['nom']; //array commence à 0 //si tu veux le prenom du 1ier: echo "Prenom du premier: ".$tableauNP[0]['prenom']; ?>
@lain-
Bonjour,
Pourquoi se compliquer la vie ?
Au lieu dewhile($row = mysql_fetch_array($result)){ $tableauNP[$i]['nom']=$row['nom']; $tableauNP[$i]['prenom']=$row['prenom']; $i++; }ne serait-il pas plus simple de mettrewhile($row = mysql_fetch_array($result)){ $tableauNP[$i] = $row; $i++; }Comme ça on ne se pose pas le problème du nombre de colonnes...
Ou alors j'ai raté un truc ?
-
-
dsl de te le dire mais cette méthode devient un peu lourde lorsque la table est grande.
voila ce que tu cherches:
<?php
$query = "SELECT nom, prenom FROM identity";
$result = mysql_query($query);
$arr = mysql_fetch_rowsarr($result);
$nom = $arr[3]['nom'];
$prenom = $arr[3]['prenom'];
?>
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
merci a vous,
toutefois il me semble que $array[3]['nom'] ne fonctionne pas ds ton cas DjSKeud .. ? -
LOl, ba écoutes pourtant c'est du code provenant d'un site assez sérieux, mais alors dans ce cas utilises la méthode de Alian42 qui est tout aussi valide. Si effectivement tu veux gagner du temps et de la rentabilité à l'éxéction de ton code en ne récupérent qu'une seul ligne lors de ta requete (plus de while) tu dois connaitre l'ID de ta ligne d'utilisauteur (par exple "SELECT nom, prenom FROM Identity where ID = 3"
... et la tu recuperera bien qu'une seul ligne, avec le prénom et le nom de la personne d'ID 3.
Voili voilou
-
Bonjour,
Tu veux faire quoi exactement ?
Utiliser plusieurs fois dans ton script l'affichage à partir de l'array obtenu, ou afficher un seul nom ?
Mon script semble plus correspondre au problème posé j'aimerais former un tableau apres avoir fait une requete mysql :
Si on ne fait pas la boucle while, on a qu'un seul enregistrement, mysql_fetch_rowsarrn'est pas a ma connaissance une fonction native de PHP.-
oui oui, j'ai bien vu ca, a vrai dire j'ai fait une recherche deux minurtes sur un forum américain, et je suis tombé sur le bout de code ci dessus.
Bien sur, tu as raison avec l'utilisation du while, c'est ce que j'utilise d'ailleur assez fréquament dans mon/mes sites .. mais je croyai que la question originel était un peu plus pointu, et qu(il souhaitai uniqement exptraire une seule ligne de sa table.
... je le repete, ta solution est VIABLE !! :) j'essayai juste d'avoir une approche de la question plus "pointu" .. mais concluante finalement :(
-
-
pour Reivax962 ... euh, un array dans un array, je suis septique, non ?
-
Je suis aussi d'accord avec Reivax962. Un array dans un array c'est un array multidimension.
Sa solution est encore plus simple que la mienne.
Et valable surtout si le nombre de champs n'est pas trop important.
Codialement
@lain -
effectivement, mysql_fetch_rowsarr n'est pas accepté chez moi, sinon je cherche a stocker les noms qui verifient certaines condditions ds un tableau (eventuellement de session) pour les reutiliser ailleurs, vos solutions me conviennent tres bien !
merci a vous -
je cherche a stocker les noms qui verifient certaines condditions
Dans ce cas tu mets en plus une condition WHERE dans ta requette, ainsi seuls les noms concernés seront extraits.
<?php $cond="a" $query = "SELECT nom, prenom FROM identity WHERE nom LIKE '".$cond."%'"; // les noms commençant par $cond $result = mysql_query($query); //on va charger les reponses dans un array à deux dimensions $tableauNP=array(); $i=0; while($row = mysql_fetch_array($result)){ $tableauNP[$i]['nom']=$row['nom']; $tableauNP[$i]['prenom']=$row['prenom']; $i++; } //si tu veux le nom du 5 ième: echo "Nom du cinqieme: ".$tableauNP[4]['nom']; //array commence à 0 //si tu veux le prenom du 1ier: echo "Prenom du premier: ".$tableauNP[0]['prenom']; ?>