REquete Count Petit souci

Résolu/Fermé
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 1 juil. 2008 à 16:52
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 1 juil. 2008 à 19:00
Bonjour,
je voudrai compter le resulat d'une requete precedente utilsant des WHERE et ainsi afficher le nombre de lignes de ma requete
Du Style :

$sql = "SELECT * FROM devis_table  WHERE sous_categorie = '" . $k . "' ORDER BY '" . $a ."' "; 
	$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );

$query = mysql_query('SELECT COUNT(*) FROM ($sql)') or die(mysql_error());
$nb_entrees = mysql_result($query,0,0);



je pense avoir une erreur de syntaxe. Si vous pouviez m'aider, ce serait généreux de votre part. *Merci Beaucoup

18 réponses

flodotsoft Messages postés 70 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 juillet 2008 3
1 juil. 2008 à 16:55
Salut,

$sql = "SELECT * FROM devis_table WHERE sous_categorie = '" . $k . "' ORDER BY '" . $a ."' ";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
$nb_entrees = mysql_num_rows($result);

++
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 16:57
Punaise, je n'y avait pas pensé.
Bin ceci fontionne parfaitement.
Je te remercie !

Aide tres bénéfique !
0
flodotsoft Messages postés 70 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 juillet 2008 3
1 juil. 2008 à 17:06
un petit vote alors ;) merci
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 17:10
je ne savai pas que l'on pouvait voter ...
j'ai encore un petit souci !

voici ma requete
$sql = "SELECT * FROM devis_table WHERE sous_categorie = '" . $k . "' ORDER BY '" . $a ."' "; 
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() ); 
$nb_entrees = mysql_num_rows($result); 


et voici le souci

$entrees_par_page = 5; // nombre d'entrée à afficher par page
$total_pages = ceil($nb_entrees/$entrees_par_page);

if(!isset($_GET['page'])){
        $page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante
    } else {
        $page = $_GET['page'];
        if ($page<1) $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1
        elseif ($page>$total_pages) $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page
        else $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL
    }
	
$start = ($page_courante * $entrees_par_page - $entrees_par_page);

$query = "SELECT * FROM devis_table LIMIT $start, $entrees_par_page";
$resultat = mysql_query($query);

    /** On procède à l'affichage des données */
    echo '<ul>';
        while($item = mysql_fetch_array($resultat)) {
            echo "<li>" .$item['titre']. "</li>\n";
        }
    echo "</ul>\n";


qu'est-ce que ce GET['page'] ???
je ne comprends pas non plus la derniere requete !!

Tout ceci m'affiche presque le bon resultat, cad une pagination : 1 - 2- 3-

Merci
0
flodotsoft Messages postés 70 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 juillet 2008 3
1 juil. 2008 à 17:15
en fait le $_GET['page'] va recupérer le paramètre "page" dans ton url : http://www.monsite.com?page=2

Pour la dernière requete, il faut que tu la remplace par la tienne, mais en mettant le " LIMIT $start, $entrees_par_page" après ton "ORDER BY"

apres ca devrait etre bon
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 17:27
Roh je ne pige rien a ce code ... il m'affiche bien 5 ligne par page !! Mais il y a seulement une page :s !

<code>

<?php

session_start();

require_once('config.php');
require_once('verifications.php');
$titre_page='Index membres';
include_once('haut.php');
echo'<div align="center"><strong>Bienvenue dans votre espace membres '. $pseudo .' !</strong><br /><br />
Votre e-mail : '. $email .'<br />
Votre id : '. $id .'
<br /><a href="profil.php">Modification du profil</a>
<br /><a href="logout.php">Deconnexion</a></div>
<br /><a href="index.php"><center><b>Retour Accueil</b></a><br></center><br></div>';
?>

<?php
session_start();
include('bdd.php');
include ('pagination.php');

$b = $_POST['thematique_projet'];
$_SESSION['b'] = $b;
$k = $_SESSION['k'];


if(!isset($_GET['page'])){
$page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante
} else {
$page = $_GET['page'];
if ($page<1) $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1
elseif ($page>$total_pages) $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page
else $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL
}
$start = ($page_courante * $entrees_par_page - $entrees_par_page);

$entrees_par_page = 5; // nombre d'entrée à afficher par page
$total_pages = ceil($nb_entrees/$entrees_par_page);

if ( ($a == 'null'))
{
if ($b == 'null')
{
$sql = "SELECT * FROM devis_table WHERE sous_categorie = '" . $k . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page ";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
$nb_entrees = mysql_num_rows($result);
echo "$nb_entrees";

}
else
$sql = "SELECT * FROM devis_table WHERE thematique_projet = '" . $b . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page ";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );

$nb_entrees = mysql_num_rows($result);
echo "$nb_entrees";

}
else
{
$sql = "SELECT * FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );

$nb_entrees = mysql_num_rows($result);
echo "$nb_entrees";

}

if ( $thematique_projet == 'null')

{
echo"<b><center>Votre Recherche porte sur <br> $k / Toutes les Thematiques <br><br><br></center></b>\n";
}
else
{
echo"<b><center>Votre Recherche porte sur <br> $k / $thematique_projet <br><br><br></center></b>\n";
}

if($result) {
// debut du tableau
echo '<form action="confirmation.php" method="post">';
echo '<font size="2" face="Arial" >';

echo '<table bgcolor="#FFFFFF" border="0" align="center">'."\n";
// première ligne on affiche les titres dans 4 colonnes
echo '<tr>';
echo '<td width="80" bgcolor="#3366ff"><b><u><font color="#FFFFFF">Devis n° :</font></u></b></td>';
echo '<td bgcolor="#3366ff"><b><u><font color="#FFFFFF">Département </font></u></b></td>­';
echo '<td bgcolor="#3366ff"><b><u><font color="#FFFFFF">Commentaires</font></u></b></td>';
echo '<td bgcolor="#3366ff"><b><u><font color="#FFFFFF">Clics Restants</font></u></b></td>';
echo '<td bgcolor="#3366ff"><b><u></u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.

$i=0;
$timeout = 604800;
$heure = time();

while($row = mysql_fetch_array($result))
{
if ( ( $heure < ($row['time'] + $timeout )) || ( $row['time'] == "0" ))


if ( $row['clic'] != "0" )


{

{
echo '<tr>';
echo '<td width="80" bgcolor="#e8e2e2">'.$row[id].'</td>';
echo '<td bgcolor="#e8e2e2">'.$row[departement].'</td>';
echo '<td bgcolor="#e8e2e2">'.$row[commentaires].'</td>';
echo '<td bgcolor="#e8e2e2">'.$row[clic].'</td>';
echo '<td><input type="checkbox" name="option'.$i.'" value="'.$row[id].'">acheter</td>';
echo '</tr>';
$i = $i+1;



echo '<tr>';
echo '<td></td>';
echo '<td bgcolor="#e8e2e2"><h5><i>Ajouté le :<br> </h5></i></td>';
echo '<td bgcolor="#e8e2e2"><h5><i>'.$row[Date].'</h5></i></td>';
echo '<td bgcolor="#e8e2e2"><h5><i>'.$row[objet_message2].'</h5></i></td>';
echo '<td></td>';
echo '</tr>';

echo '<input type="hidden" name="variable" value="'.$i.'">';

}
}

}
echo '</table>'."\n";
echo "<input type='submit' value='Commander Devis' /></form>";
echo '</font>';
// fin du tableau.

}

else
{
echo 'Pas d\'enregistrements dans cette table...';
}


?>

<code>

Si tu arrive a trouver l'erreur je vote pour toi pour les prochaines présidentielles !
0
flodotsoft Messages postés 70 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 juillet 2008 3
1 juil. 2008 à 17:33
lol bon ok je me présente aux prochaines :D

Pour ton code il y a pas mal d'erreurs sur les accolades entre les IF et les ELSE.
Vérifie déjà ca et copie l'erreur s'il y en a encore.
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 17:43
deja le petit souci est que le get page ne doit pas fonctionner...
sur ma pagination en page2 j'ai index.php=2 alros que je suis sur liste.php !!
vois-tu ? futur président ... Hum !
0
flodotsoft Messages postés 70 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 juillet 2008 3
1 juil. 2008 à 17:48
c'est quoi le code de ta pagination ?
essai de cherche ce index.php et remplace le par liste.php en vérifiant qu'il y ait bien le "?page=$numpage" derriere :
<a href="liste.php?page=1">1</a>
<a href="liste.php?page=2">2</a>
<a href="liste.php?page=3">3</a>
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 17:59
dans mon code pagination.php il n'y a seulement des liste.php ! je ne comprends pas
je pense que mon code liste.php n'est pas propres, je fais appel a des sessions, headers footers, includes en pagaille.
cela doit porter a confusion
0
flodotsoft Messages postés 70 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 juillet 2008 3
1 juil. 2008 à 18:06
La je ne peux pas t'aider plus, je n'ai pas le reste du code ...

Fais une recherche de "index.php" sur tout ton site et regarde s'il apparait dans un fichier qui pourrait etre utilisé par ta pagination. C'est de la bidouille mais bon.

Ou bien prends le pb à l'envers en affichant le code généré par ton navigateur. Tu cherche ce qui ne va pas et tu modifie dans le code source.

Sinon copie ton code pagination au cas ou ...
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 18:06
je pense avoir trouvé le souci,
j'utilise le header (haut.php) pour toutes mes pages ... alors que c'est le header de index.php !! Voila l'erreur
Comment dois-je faire pour changer ce titre de page ?
je bug :s
0
flodotsoft Messages postés 70 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 juillet 2008 3
1 juil. 2008 à 18:09
ca dépend ce qu'il y a dans ton fichier haut.php
je ne comprends, tu dois me faire bugger aussi lol
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 18:13
j'ai un don !! on me le dit souvent :)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title><?php echo $nom_du_site.' : '.$titre_page; ?></title>
<meta http-equiv="Content-Type" content="text/xhtml; charset=iso-8859-1" />
<meta name="description" content="<?php echo $meta_description; ?>" />
<meta name="keywords" content="<?php echo $meta_mots_cles; ?>" />
<meta name="robots" content="all" />
<link href="style.css" rel="stylesheet" type="text/css" />



 </head> 
<link href="pagination.css" rel="stylesheet" type="text/css" />

</head>
<body>


Il faut que je change ceci !!! c'est le diable !!!! SATAN ....
0
flodotsoft Messages postés 70 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 juillet 2008 3
1 juil. 2008 à 18:14
non c nickel ca ! vade retros codos phpos !
mais si le probleme vient de la pagination, regarde plutot du coté du fichier du meme nom ;)
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 18:18
... niéh ! je m'y attèle !
A de suite pour de nouvelles aventures
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 18:22
Bon allez deja essayons d'afficher 5 resultats par page ...

il n'aime pas quand je met ceci :

$sql = "SELECT * FROM devis_table  WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page ";


c un probleme de quote je pense

erreur : Erreur : You have an error in your SQL syntax near ' ' at line 1
c'est bien, j'ai regardé ligne 1 ... ya un espace vide ! il se fou de moi :)
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 18:25
bon ok, resolu !! je n'avais pas declaré ma variable ... :)
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
1 juil. 2008 à 19:00
j'ai un don !! on me le dit souvent :)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title><?php echo $nom_du_site.' : '.$titre_page; ?></title>
<meta http-equiv="Content-Type" content="text/xhtml; charset=iso-8859-1" />
<meta name="description" content="<?php echo $meta_description; ?>" />
<meta name="keywords" content="<?php echo $meta_mots_cles; ?>" />
<meta name="robots" content="all" />
<link href="style.css" rel="stylesheet" type="text/css" />



 </head> 
<link href="pagination.css" rel="stylesheet" type="text/css" />

</head>
<body>


Il faut que je change ceci !!! c'est le diable !!!! SATAN ....
0