Aidez moi probleme PHP SQL

Fermé
tatann22 Messages postés 80 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 2 mai 2013 - 7 mars 2009 à 18:46
Tonyjim Messages postés 68 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 19 juillet 2009 - 12 mars 2009 à 09:00
bonjour ,
je n'arrive pas a faire fonctionner ce script ...
Voici mon code :

Merci de votre aide


<html>
<body>
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = 'mysql';
$db = 'libertyfree';

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());





$nombre = 5;  // on va afficher 5 résultats par page.
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois 
               // on met limite à 0.
    
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];








$select = 'SELECT count(id) FROM vaches';

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

$row = mysql_fetch_row($result);

$total = $row[0];




$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;





// requête SQL qui ne prend que le nombre d'enregistrements nécessaire à l'affichage.

$select = 'select prenom,surnom FROM vaches ORDER BY prenom ASC limit '.$limite.','.$nombre;

$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );




// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT prenom,surnom FROM vaches';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);


// si on a récupéré un résultat on l'affiche.
if($total) {
    // début du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>Prénom</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Surnom</u></b></td>';
        echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#CCCCCC">'.$row['prenom'].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row['surnom'].'</td>';
        echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';


if($limite != 0) {
    echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a>';
}

	

if($limitesuivante < $total) {
    echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
}





// on libère le résultat
mysql_free_result($result);

?>
</body>
</html> 
A voir également:

3 réponses

bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
7 mars 2009 à 19:01
Salut!
quelle erreur ça te renvoie?
0
Tonyjim Messages postés 68 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 19 juillet 2009 1
8 mars 2009 à 06:55
ton probleme viens d'ici :

// requête SQL qui ne prend que le nombre d'enregistrements nécessaire à l'affichage.

$select = 'select prenom,surnom FROM vaches ORDER BY prenom ASC limit '.$limite.','.$nombre;

$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );




// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT prenom,surnom FROM vaches';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);



tu a ta premiere requete avec ta limit et tu stoque ca dans la variable $result !

puis tu fais ta requete pour compter le nombre d'entrée et tu le met toi memes dans les commentaire qu'il selectionne aussi, et tu stoque encore dans $result :/

donc il efface ce qui se trouvais dans cette variable $result pour mettre les nouvelle donnée de la seconde requete qui n'ont pas de limit :(

et Mr Php affiche $result avec le résultat de la seconde requete donc toute la table !
0
Tonyjim Messages postés 68 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 19 juillet 2009 1
12 mars 2009 à 09:00
c'est vrai que en me relisant .... c'est du chinoi lol

ta seconde requete :

// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT prenom,surnom FROM vaches';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);


elle ne dois pas selectionner mais juste compter ;)
0