SQL dans boucle while grâce à une fonction

IceDeamon Messages postés 4 Statut Membre -  
Olendam Messages postés 123 Date d'inscription   Statut Membre -
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

3 réponses

  1. Olendam Messages postés 123 Date d'inscription   Statut Membre 1
     
    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();
    ?>
    
    0
  2. Mimiste Messages postés 1159 Statut Membre 206
     
    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 ?
    0
  3. Olendam Messages postés 123 Date d'inscription   Statut Membre 1
     
    Pourquoi veut tu absolument mettre dans la boucle, tu n'a qu'à le mettre à l'extérieur et l'appeller.
    0