Rechercher : dans
Par :

SQL dans boucle while grâce à une fonction

Dernière réponse le 17 oct 2009 à 23:59:57 IceDeamon, le 17 oct 2009 à 23:02:44 
 Signaler ce message aux modérateurs

Bonsoir les gens,

J'ai un problème, ou plutôt une question.
Actuellement, je sais comment afficher une liste de données, avec SQL, en utilisant la boucle While :

<?php
$reponse = mysql_query("SELECT * FROM table WHERE parametre='x'");
while($sql = mysql_fetch_array($reponse)
{
     echo $sql[2];
}
?>

Bon, je pense que ce code est correct.

Maintenant, j'essaie de faire un scrit, qui fait le même travail, mais la requête se trouve dans une fonction.
L'idéal étant :

<?php
while(fonction())
{
       getTitle();
}
?>



Où fonction() renvoie "$sql = mysql_fetch_array", et getTitle "$sql['title']";


Ma question est donc : comment coder fonction() ?

Merci de votre réponse,
IceDeamon.
Configuration: Linux
Firefox 3.0.14

Meilleures réponses pour « SQL dans boucle while grâce à une fonction » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...
Javascript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non, ce qui permet notamment de donner de l'interactivité à vos scripts. L'instruction...

1

Olendam, le 17 oct 2009 à 23:54:34

Voici un exemple tiré du site du zéro pour t'aider :

<?php
mysql_connect("localhost", "pseudo", "mot_de_passe"); 
mysql_select_db("coursphp"); 
 
$reponse = mysql_query("SELECT * FROM jeux_video"); 
 
while ($donnees = mysql_fetch_array($reponse) )
{
?>
    <p>
    <strong>Jeu</strong> : <?php echo $donnees['nom']; ?><br />
    Le possesseur de ce jeu est : <?php echo $donnees['possesseur']; ?>, et il le vend à <?php echo $donnees['prix']; ?>   euros !<br />
    Ce jeu fonctionne sur <?php echo $donnees['console']; ?> et on peut y jouer à <?php echo $donnees['nbre_joueurs_max']; ?> au maximum<br />
    <?php echo $donnees['possesseur']; ?> a laissé ces commentaires sur <?php echo $donnees['nom']; ?> : <em><?php echo    $donnees['commentaires']; ?></em>
   </p>
<?php
}
 
mysql_close();
?>

Répondre à Olendam

2

Mimiste, le 17 oct 2009 à 23:57:01

Salut

Je vois en gros ce que tu voudrais faire mais sa risque de coincer a plusieurs endroits :

Si tu code fonction de cette maniere

function fonction() {
$reponse = mysql_query("SELECT * FROM table WHERE parametre='x'");
$sql = mysql_fetch_array($reponse);
return $sql;
}

La boucle tournera a l'infini car la requete va se re initialiser a chaque tour de boucle... Il ne faut donc pas executer la requete a l'interieur ce qui donnerai :

function fonction($reponse) {
$sql = mysql_fetch_array($reponse);
return $sql;
}

$reponse = mysql_query("SELECT * FROM table WHERE parametre='x'");
while($sql = fonction($reponse))
{
echo $sql[2];
}

L'interet du truc est tout de suite plus limité...

Il y a une raison precise pour que tu veuille faire ça ?
Si ce message vous a aidé n'oubliez pas de dire MERCI ;)

Répondre à Mimiste

3

 Olendam, le 17 oct 2009 à 23:59:57

Pourquoi veut tu absolument mettre dans la boucle, tu n'a qu'à le mettre à l'extérieur et l'appeller.

Répondre à Olendam
Collection CommentÇaMarche.net