djinko
Messages postés21Date d'inscriptionjeudi 9 octobre 2003StatutMembreDernière intervention18 janvier 2007
-
9 mars 2006 à 15:26
djinko
Messages postés21Date d'inscriptionjeudi 9 octobre 2003StatutMembreDernière intervention18 janvier 2007
-
10 mars 2006 à 16:26
J'ai modifié le code mais j'ai une erreur :
you have an error in your SQL Syntax to use near 'Ressource id #9 LIMIT 0,15' at line 1
Code:,
----
<? include("protect/conf.php") ?>
<?
require("protect/conf.php");
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données $sql_bdd sur le serveur $sql_server
Vérifiez les paramètres du fichier conf.php"; exit;}
$reponse = mysql_db_query($sql_bdd,"SELECT COUNT(*) AS nbre_entrees FROM membre",$db_link) or die(mysql_error());
$donnees = mysql_fetch_array ($reponse);
$requete=mysql_db_query($sql_bdd,"SELECT * FROM recherche WHERE int_poste LIKE '$int_poste_recherche' AND regionr LIKE '$regionr_recherche' OR typ_contrat LIKE '$typ_contrat_recherche' ORDER BY id_recherche DESC",$db_link) or die(mysql_error());
Tu fais ton sprintf pour ajouter ta clause LIMIT sur une ressource! Pas sur une chaine contenant une requête.
Parce que tu lances directement ta requête.
$requete=mysql_db_query($sql_bdd,"SELECT * FROM recherche WHERE int_poste LIKE '$int_poste_recherche' AND regionr LIKE '$regionr_recherche' OR typ_contrat LIKE '$typ_contrat_recherche' ORDER BY id_recherche DESC",$db_link) or die(mysql_error());
$requete est alors une ressource retournée par mysql_db_query(), et pas une chaine.
djinko
Messages postés21Date d'inscriptionjeudi 9 octobre 2003StatutMembreDernière intervention18 janvier 2007 9 mars 2006 à 17:07
J'ai trouvé une solution mais il y a juste une erreur
Le résultat de la requete s'affiche bien par 10. Le nombre de page aussi mais lorsque je clique sur le lien suivant, il affiche la page mais pas les résultats suivants. Et quand je fais un précedent, idem
Code:
,
----
<? include("protect/conf.php") ?>
<?
require("protect/conf.php");
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données $sql_bdd sur le serveur $sql_server
Vérifiez les paramètres du fichier conf.php"; exit;}
$sql = mysql_db_query($sql_bdd,"SELECT id_recherche FROM recherche",$db_link) or die(mysql_error());
$nbre_messages = mysql_num_rows($sql) ;
$requete=mysql_db_query($sql_bdd,"SELECT * FROM recherche WHERE int_poste LIKE '$int_poste_recherche' AND regionr LIKE '$regionr_recherche' OR typ_contrat LIKE '$typ_contrat_recherche' ORDER BY id_recherche DESC LIMIT $debut,$nbr_mess_page",$db_link) or die(mysql_error());
$reponse = mysql_db_query($sql_bdd,"SELECT COUNT(*) AS nbre_entrees FROM membre",$db_link) or die(mysql_error());
$donnees = mysql_fetch_array ($reponse);
djinko
Messages postés21Date d'inscriptionjeudi 9 octobre 2003StatutMembreDernière intervention18 janvier 2007 10 mars 2006 à 16:26
Bonsoir,
Mon problème est que lorsque je lance la recherche, la page de résultats s'affiches correctement mais lorque je clique sur suivant, il n'affiche pas la suite de la requete. J'aimerai savoir pourquoi!
une petite idée???
<?
require("protect/conf.php");
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données $sql_bdd sur le serveur $sql_server Vérifiez les paramètres du fichier conf.php"; exit;}
// On Calcul le nombre total d'utilisateurs présent dans la table "membre"
$reponse = mysql_db_query($sql_bdd,"SELECT COUNT(*) AS nbre_entrees FROM membre",$db_link) or die(mysql_error());
$donnees = mysql_fetch_array ($reponse);
// On Calcul le nombre total de messages présent dans la table "recherche"
$sql = mysql_db_query($sql_bdd,"SELECT * FROM recherche WHERE int_poste LIKE '$int_poste_recherche' AND regionr LIKE '$regionr_recherche' OR typ_contrat LIKE '$typ_contrat_recherche' ORDER BY id_recherche",$db_link) or die(mysql_error());
$nbre_messages = mysql_num_rows($sql) ;
// On met une variable pour déterminer le nombre de messages par page
$nbr_mess_page = "2";
// On Calcul le nombre de page
$nbr_page = ceil($nbre_messages/$nbr_mess_page);
// donc on met une condition, si p n'existe pas on dit qu'il est égal à 1.
$page=(isset($_GET['p']))?$_GET['p']:1;
// on considéra que p=1
if($page>$nbr_page) { $page=1; }
//Formule permettant de calculer le premier message de chaque page
$page= ($page <= 1)?0:(($page*$nbr_mess_page)-$nbr_mess_page);
// Requête SQL
$requete=mysql_db_query($sql_bdd,"SELECT * FROM recherche WHERE int_poste LIKE '$int_poste_recherche' AND regionr LIKE '$regionr_recherche' OR typ_contrat LIKE '$typ_contrat_recherche' ORDER BY id_recherche DESC LIMIT $page,$nbr_mess_page",$db_link) or die(mysql_error());
// On fait une boucle pour afficher les résultats
while($row = mysql_fetch_array($requete)) {
On affiche les messages ici.
$int_poste_recherche = $row["int_poste"];
$typ_contrat_recherche = $row["typ_contrat"];
$regionr_recherche = $row["regionr"];
$exp_recherche = $row["exp"];
$form_recherche = $row["form"];
$disp_recherche = $row["disp"];
$id_recherche = $row["id"];
}
mysql_close($db_link);
?>
//Affichage des liens :
<?
$p = isset($_GET['p'])?intval($_GET['p']):1;
// Si il y a qu'une page, on affiche juste le nombre de page
if($nbr_page == 1) {
echo "( Page $p / $nbr_page )
";
}
// Si $p=1, on affiche juste le liens suivants
elseif($p == 1) {
echo "( Page $p / $nbr_page ),
Page Suivante
";
}
// Si $p=$nbr_page, on affiche juste le liens précédent
elseif($_GET['p'] == $nbr_page) {
$page_precedente = $p - 1;
echo "Page Précédente,
( Page $p / $nbr_page )
";
}
// Sinon on affiche les 2 liens, il suffit juste d'incrementer ou soustraire 1 de $p.
else {
$page_suivante = $p + 1;
$page_precedente = $p - 1;
echo "Page Précédente,
( Page $p / $nbr_page ),
Page Suivante
";
}
?>