rekam
Messages postés122Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention10 mars 2011
-
10 sept. 2004 à 01:31
darth vador
Messages postés3Date d'inscriptionjeudi 7 décembre 2006StatutMembreDernière intervention27 juin 2008
-
26 juin 2008 à 22:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
darth vador
Messages postés3Date d'inscriptionjeudi 7 décembre 2006StatutMembreDernière intervention27 juin 2008 26 juin 2008 à 22:00
bonjour et merci pour ce script ;)
voila j'ai fait comme vous avez dit mais j'ai comme alexNunes des difficultés avec WHERE.
j'ai une erreur
mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\www\SiteBeatrice\gestionResultSQL.class.php on line 576
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\SiteBeatrice\Catalogue.php on line 62
la ligne 62 du catalogue est while ($ln = mysql_fetch_array($rq))
j'ai testé de metre avec et sans where pour $sql = $rch->retourneSQLStrRch mais toujours la meme erreur.
avez vous une idée?
merci d'avance.
rekam
Messages postés122Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention10 mars 2011 22 août 2006 à 10:19
Salut,
essaie sans mettre le WHERE, soit :
$sql = $rch->retourneSQLStrRch($nbInstances, $pageCourante, array("*"), array("membres"), "cat=equipe", "ORDER BY nom ASC");
ça devrait fonctionner!
A+
cs_alexNunes
Messages postés1Date d'inscriptionjeudi 9 septembre 2004StatutMembreDernière intervention 5 janvier 2006 5 janv. 2006 à 21:20
Bonjour,
j'ai quelques difficulté à configurer la clause WHERE dans votre code,en fait ça ne fonctionne pas, je n'ai peux-être pas la bonne syntaxe?
pouvez-vous m'aider la dessus.
voici ce que j'ai écrit:
$sql = $rch->retourneSQLStrRch($nbInstances, $pageCourante, array("*"), array("membres"), "WHERE cat=equipe", "ORDER BY nom ASC");
merci
Alex
rekam
Messages postés122Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention10 mars 2011 28 oct. 2005 à 14:27
si tu connais Smarty (une librairie de génération de template pour php), tu y trouveras qqpart ton bonheur, puisque je sais qu'il utilise le cache. Par contre , je ne sais pas comment :P ....
Sinon, tu peux utiliser les $_SESSION . C'est un peu la magouille, mais en fait, même pas vraiment. Enfin bref, bonne chance, quoi ;)
thebinch
Messages postés3Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention28 octobre 2005 28 oct. 2005 à 14:25
Ah oui j'oubliais, si quelqu'un connait une classe qui gere ma problematique de cache, je suis prenneur...
a+
rekam
Messages postés122Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention10 mars 2011 28 oct. 2005 à 14:24
salut,
bonne idée le cache. Dans mon cas, c'est vrai que j'en avais pas besoin, vu que la bd est très (très très) souvent modifiée et que par conséquent, ça vaut la peine d'avoir une liste qui se rafraichit tout le temps. Là où j'ai fait une erreur, c'est que je n'aurais pas du utiliser LIMIT mais plutot BETWEEN. Il paraît que ce dernier est plus performant.
Mais bref, au plaisir :)
thebinch
Messages postés3Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention28 octobre 2005 28 oct. 2005 à 14:20
Bonjour,
la classe fonctionne bien, dommage qu'au changement de page on re-interroge la base. Son interet est donc limite a la gestion de la pagination. Je vais m'orienter pour mes dev vers un systeme de cache
où $suite correspond UNIQUEMENT à ce qui suit la clause WHERE.
Normalement, ça te sortira la même chose en gérant les LIMIT et le nombre de pages et tout. Maintenant, est-ce que $recherche vient d'un champ dans lequel on insère un mot ? Si oui, y'a peut-être encore une autre solution mais celle-là peut fonctionner.
Voilà, a+
airben
Messages postés11Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention 6 août 2005 6 août 2005 à 16:21
Bonjour
Pouvez-vous me dire s'il vous plait si cette requete peu marché avec votre srcipt.
Si non qu'est ce que je doid modifié pour que sa marche avec votre script .MERCI bien
$requete = "SELECT *
FROM cv WHERE 1 = 1 AND";
if (!empty($recherche)) {
$requete .= " MATCH ( ref, titre, nom, code, ville, fonction, region1, nom_entr1, prec_ent, nom_entr2 )
AGAINST ( '$recherche' IN BOOLEAN MODE )";
}
if (!empty($fonction)) {
$requete ." AND fonction '".$fonction."'";
}
if (!empty($ann_exp)) {
$requete ." AND ann_exp '".$ann_exp."'";
}
if (!empty($niveau)) {
$requete ." AND niveau '".$niveau."'";
}
if (!empty($region1)) {
$requete ." AND region1 '".$region1."'";
}
if (!empty($mobil)) {
$requete ." AND mobil '".$mobil."'";
}
if (!empty($critere)) {
$requete ." AND critere '".$critere."'";
}
cs_sampiero
Messages postés5Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention11 mai 2008 18 juin 2005 à 08:18
Bonjour,
merci pour cette réponse ultra rapide.
rekam
Messages postés122Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention10 mars 2011 17 juin 2005 à 22:28
Salut,
Regarde bien l'exemple que je fourni plus haut. Tu trouveras cette ligne :
Le premier array() contient le/les champs, le 2e array() contient la/les tables (voir les commentaires correspondants dans l'exemple). En esperant que ça ait pu t'aider un peu. Ah oui, et au tout debut, tu as un include('connect.inc.php'); Ceci signinfie que tu dois avoir un fichier qui s'appelle connect.inc.php et qui contient les donnees de connection a la bd, genre :
<?php
$dbhost = "localhost";
$dblogin = "root";
$dbpassword = "";
$dbname = "le-nom-de-ta-bd";
cs_sampiero
Messages postés5Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention11 mai 2008 17 juin 2005 à 18:24
Bonjour,
J'ai vraiment apprécié votre code. Mais je suis débutant en programmation, je n'ai pas trouvé le moyen de choisir la table ni les noms des champs.
Merci de venir à mon secours.
rekam
Messages postés122Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention10 mars 2011 10 sept. 2004 à 01:31
Euh...merci pour la note, mais en fait, j'aurais bien voulu savoir s'il y avait des choses à améliorer ou à changer.
Genre, pour la liste des pages, on peut l'afficher comme ceci :
Page 1|2|3|4|5
ou comme ceci
Résultats 1 à 15 / 16 à 30 / 31 à 42
Y'a peut-être d'autres moyens d'afficher les pages que cette classe ne prend pas en compte. Chai pas, celles et ceusses qui affichent des listes, vous faites comment quand vous avez plusieurs pages ?
26 juin 2008 à 22:00
voila j'ai fait comme vous avez dit mais j'ai comme alexNunes des difficultés avec WHERE.
j'ai une erreur
mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\www\SiteBeatrice\gestionResultSQL.class.php on line 576
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\SiteBeatrice\Catalogue.php on line 62
la ligne 62 du catalogue est while ($ln = mysql_fetch_array($rq))
j'ai testé de metre avec et sans where pour $sql = $rch->retourneSQLStrRch mais toujours la meme erreur.
avez vous une idée?
merci d'avance.
22 août 2006 à 10:19
essaie sans mettre le WHERE, soit :
$sql = $rch->retourneSQLStrRch($nbInstances, $pageCourante, array("*"), array("membres"), "cat=equipe", "ORDER BY nom ASC");
ça devrait fonctionner!
A+
5 janv. 2006 à 21:20
j'ai quelques difficulté à configurer la clause WHERE dans votre code,en fait ça ne fonctionne pas, je n'ai peux-être pas la bonne syntaxe?
pouvez-vous m'aider la dessus.
voici ce que j'ai écrit:
$sql = $rch->retourneSQLStrRch($nbInstances, $pageCourante, array("*"), array("membres"), "WHERE cat=equipe", "ORDER BY nom ASC");
merci
Alex
28 oct. 2005 à 14:27
Sinon, tu peux utiliser les $_SESSION . C'est un peu la magouille, mais en fait, même pas vraiment. Enfin bref, bonne chance, quoi ;)
28 oct. 2005 à 14:25
a+
28 oct. 2005 à 14:24
bonne idée le cache. Dans mon cas, c'est vrai que j'en avais pas besoin, vu que la bd est très (très très) souvent modifiée et que par conséquent, ça vaut la peine d'avoir une liste qui se rafraichit tout le temps. Là où j'ai fait une erreur, c'est que je n'aurais pas du utiliser LIMIT mais plutot BETWEEN. Il paraît que ce dernier est plus performant.
Mais bref, au plaisir :)
28 oct. 2005 à 14:20
la classe fonctionne bien, dommage qu'au changement de page on re-interroge la base. Son interet est donc limite a la gestion de la pagination. Je vais m'orienter pour mes dev vers un systeme de cache
Merci/a+
http://www.bozonnet.com
8 août 2005 à 08:41
A priori, ça devrait être jouable. J'ai pas testé mais essaie ça. Prend l'exemple 1 fourni avec la source et remplace cette ligne:
$sql = $rch->retourneSQLStrRch($nbInstances, $pageCourante, array("*"), array("persos"), "", "");
par ceci :
$sql = $rch->retourneSQLStrRch($nbInstances, $pageCourante, array("*"), array("cv"), "1=1", $suite);
où $suite correspond UNIQUEMENT à ce qui suit la clause WHERE.
Normalement, ça te sortira la même chose en gérant les LIMIT et le nombre de pages et tout. Maintenant, est-ce que $recherche vient d'un champ dans lequel on insère un mot ? Si oui, y'a peut-être encore une autre solution mais celle-là peut fonctionner.
Voilà, a+
6 août 2005 à 16:21
Pouvez-vous me dire s'il vous plait si cette requete peu marché avec votre srcipt.
Si non qu'est ce que je doid modifié pour que sa marche avec votre script .MERCI bien
$requete = "SELECT *
FROM cv WHERE 1 = 1 AND";
if (!empty($recherche)) {
$requete .= " MATCH ( ref, titre, nom, code, ville, fonction, region1, nom_entr1, prec_ent, nom_entr2 )
AGAINST ( '$recherche' IN BOOLEAN MODE )";
}
if (!empty($fonction)) {
$requete ." AND fonction '".$fonction."'";
}
if (!empty($ann_exp)) {
$requete ." AND ann_exp '".$ann_exp."'";
}
if (!empty($niveau)) {
$requete ." AND niveau '".$niveau."'";
}
if (!empty($region1)) {
$requete ." AND region1 '".$region1."'";
}
if (!empty($mobil)) {
$requete ." AND mobil '".$mobil."'";
}
if (!empty($critere)) {
$requete ." AND critere '".$critere."'";
}
18 juin 2005 à 08:18
merci pour cette réponse ultra rapide.
17 juin 2005 à 22:28
Regarde bien l'exemple que je fourni plus haut. Tu trouveras cette ligne :
$sql = $rch->retourneSQLStrRch($nbInstances, $pageCourante, array("*"), array("persos"), "", "");
Le premier array() contient le/les champs, le 2e array() contient la/les tables (voir les commentaires correspondants dans l'exemple). En esperant que ça ait pu t'aider un peu. Ah oui, et au tout debut, tu as un include('connect.inc.php'); Ceci signinfie que tu dois avoir un fichier qui s'appelle connect.inc.php et qui contient les donnees de connection a la bd, genre :
<?php
$dbhost = "localhost";
$dblogin = "root";
$dbpassword = "";
$dbname = "le-nom-de-ta-bd";
$connect = mysql_connect($dbhost,$dblogin,$dbpassword);
$db = mysql_select_db($dbname);
?>
Au plaisir
17 juin 2005 à 18:24
J'ai vraiment apprécié votre code. Mais je suis débutant en programmation, je n'ai pas trouvé le moyen de choisir la table ni les noms des champs.
Merci de venir à mon secours.
10 sept. 2004 à 01:31
Genre, pour la liste des pages, on peut l'afficher comme ceci :
Page 1|2|3|4|5
ou comme ceci
Résultats 1 à 15 / 16 à 30 / 31 à 42
Y'a peut-être d'autres moyens d'afficher les pages que cette classe ne prend pas en compte. Chai pas, celles et ceusses qui affichent des listes, vous faites comment quand vous avez plusieurs pages ?