Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Le coin des codeurs » » [Résolu] - Syntaxe de requete SQL...
Auteur[Résolu] - Syntaxe de requete SQL...
Pomme
7540       
 

Pomme
  Posté : 17-02-2005 11:52

$req="SELECT * FROM annu_logements_foyers WHERE c04 LIKE \"Bonneuil\" OR c04 LIKE \"bonneuil\" AND c01 LIKE \"%$recherche%\" OR c02 LIKE \"%$recherche%\" OR c03 LIKE \"%$recherche%\" OR c04 LIKE \"%$recherche%\" OR c05 LIKE \"%$recherche%\" OR c06 LIKE \"%$recherche%\" OR c07 LIKE \"%$recherche%\" OR c08 LIKE \"%$recherche%\" OR c09 LIKE \"%$recherche%\" OR c11 LIKE \"%$recherche%\"";

Je fais un moteur de recherche pour un annuaire. Je fais une requete par ville. Ici je veux afficher les établissements concernant Bonneuil mais là il me sort tous les établissement j'ai du m'embrouiller avec les AND et OR... Quelqu'un pourrait me dire ou j'ai bugué ?

  Profil  
Boris
3430       
 

Boris
  Posté : 17-02-2005 12:03

Je suis pas spécialiste du SQL, mais si c'est comme l'algèbre de boole, le AND est prioritaire sur le OR. Y aurais pas des parenthèses à mettre autour de tes OR ?
(J'dis p't'etre une co***rie. qqn peut confirmer?)

Citation : Pomme

$req="SELECT * FROM annu_logements_foyers WHERE (c04 LIKE \"Bonneuil\" OR c04 LIKE \"bonneuil\") AND (c01 LIKE \"%$recherche%\" OR c02 LIKE \"%$recherche%\" OR c03 LIKE \"%$recherche%\" OR c04 LIKE \"%$recherche%\" OR c05 LIKE \"%$recherche%\" OR c06 LIKE \"%$recherche%\" OR c07 LIKE \"%$recherche%\" OR c08 LIKE \"%$recherche%\" OR c09 LIKE \"%$recherche%\" OR c11 LIKE \"%$recherche%\")";


  Profil  E-mail  www  
developpeur
24581       
 

developpeur
  Posté : 17-02-2005 21:50

c'est dans ce sens boris / la priorité des opérateurs existe aussi en SQL

  Profil  E-mail  www  
Pomme
7540       
 

Pomme
  Posté : 21-02-2005 14:54

Ouais... Ca marche pas (et je dois livrer ce truc pour mercredi)

Le script PHP :

$req="SELECT * FROM annu_logements_foyers WHERE (c04 LIKE Bonneuil) AND (c01 LIKE '$recherche' OR c02 LIKE '$recherche' OR c03 LIKE '$recherche' OR c04 LIKE '$recherche' OR c05 LIKE '$recherche' OR c06 LIKE '$recherche' OR c07 LIKE '$recherche' OR c08 LIKE '$recherche' OR c09 LIKE '$recherche' OR c11 LIKE '$recherche')";
$res=mysql_query($req);
$tab=mysql_fetch_array($res) or die('Erreur SQL : '.mysql_error());
$test=$tab[c00];

if ($test!="") { echo "<ul>Aucune entrée ne correspond aux termes de recherche spécifiés.</ul>"; }
else {
$zzz=0;
while($tab=mysql_fetch_array($res)) { $ttt=1;
echo"<ul><a href=\"modules.php?ModPath=annuaireCLIC/fiche&ModStart=logements_foyer s&c00=".$tab[c00]."\">".$tab[c01]."</a>&l t;/ul>"; $zzz=1;
}
echo "opkokp";
}

La base de données :
CREATE TABLE `annu_logements_foyers` (
`c00` int(10) NOT NULL auto_increment,
`c01` text NOT NULL,
`c02` text,
`c03` text,
`c04` text,
`c05` text,
`c06` text,
`c07` text,
`c08` text,
`c09` text,
`c10` text,
`c11` text,
`c12` text,
`c13` text,
`c14` text,
`c15` text,
`c16` text,
`c17` text,
`c18` text,
`c19` text,
`c20` text,
`c21` text,
`c22` text,
`c23` text,
`c24` text,
`c25` text,
`c26` text,
`c27` text,
`c28` text,
`c29` text,
`c30` text,
`c31` text,
`c32` text,
`c33` text,
`c34` text,
`c35` text,
`c36` text,
`c37` text,
`c38` text,
`c39` text,
`c40` text,
`c41` text,
`c42` text,
`c43` text,
`c44` text,
`c45` text,
`c46` text,
`c47` text,
`c48` text,
`c49` text,
`c50` text,
`c51` text,
`c52` text,
`c53` text,
`c54` text,
`c55` text,
`c56` text,
`c57` text,
`c58` text,
`c59` text,
`active` int(1) NOT NULL default '0',
PRIMARY KEY (`c00`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;

L'entrée avec Bonneuil :
INSERT INTO `annu_logements_foyers` VALUES (9, 'Bonneuil de Merde', NULL, NULL, 'Bonneuil', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);


Normalement il devrait m'afficher l'entrée en question mais il m'affiche "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\site\boulot\clic\modules\annuaireCLIC\resultats-recherche.php on line 36
Erreur SQL : Unknown column 'Bonneuil' in 'where clause'"

  Profil  
Boris
3430       
 

Boris
  Posté : 21-02-2005 16:11

Citation : Pomme

Ouais... Ca marche pas (et je dois livrer ce truc pour mercredi)

Le script PHP :

$req="SELECT * FROM `annu_logements_foyers` WHERE (c04 LIKE 'Bonneuil') AND (c01 LIKE '$recherche' OR c02 LIKE '$recherche' OR c03 LIKE '$recherche' OR c04 LIKE '$recherche' OR c05 LIKE '$recherche' OR c06 LIKE '$recherche' OR c07 LIKE '$recherche' OR c08 LIKE '$recherche' OR c09 LIKE '$recherche' OR c11 LIKE '$recherche')";
$res=mysql_query($req);
$tab=mysql_fetch_array($res) or die('Erreur SQL : '.mysql_error());
$test=$tab[c00];

if ($test!="") { echo "
    Aucune entrée ne correspond aux termes de recherche spécifiés.
"; }
else {
$zzz=0;
while($tab=mysql_fetch_array($res)) { $ttt=1;
echo""; $zzz=1;
}
echo "opkokp";
}

La base de données :
CREATE TABLE `annu_logements_foyers` (
`c00` int(10) NOT NULL auto_increment,
`c01` text NOT NULL,
`c02` text,
`c03` text,
`c04` text,
`c05` text,
`c06` text,
`c07` text,
`c08` text,
`c09` text,
`c10` text,
`c11` text,
`c12` text,
`c13` text,
`c14` text,
`c15` text,
`c16` text,
`c17` text,
`c18` text,
`c19` text,
`c20` text,
`c21` text,
`c22` text,
`c23` text,
`c24` text,
`c25` text,
`c26` text,
`c27` text,
`c28` text,
`c29` text,
`c30` text,
`c31` text,
`c32` text,
`c33` text,
`c34` text,
`c35` text,
`c36` text,
`c37` text,
`c38` text,
`c39` text,
`c40` text,
`c41` text,
`c42` text,
`c43` text,
`c44` text,
`c45` text,
`c46` text,
`c47` text,
`c48` text,
`c49` text,
`c50` text,
`c51` text,
`c52` text,
`c53` text,
`c54` text,
`c55` text,
`c56` text,
`c57` text,
`c58` text,
`c59` text,
`active` int(1) NOT NULL default '0',
PRIMARY KEY (`c00`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;

L'entrée avec Bonneuil :
INSERT INTO `annu_logements_foyers` VALUES (9, 'Bonneuil de Merde', NULL, NULL, 'Bonneuil', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);


Normalement il devrait m'afficher l'entrée en question mais il m'affiche "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\site\boulot\clic\modules\annuaireCLIC\resultats-recherche.php on line 36
Erreur SQL : Unknown column 'Bonneuil' in 'where clause'"



Comme ca, C pas mieux? t'a pas mis les ` autour de ton nom de table (Pas obligatoire, mais C mieux!), ni les ' autour de Bonneuil. Après, comme je l'ai dit, je suis pas expert en SQL, donc faudrais une confirmation...

  Profil  E-mail  www  
Pomme
7540       
 

Pomme
  Posté : 21-02-2005 19:22

Il précise l'erreur maintenant...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\site\boulot\clic\modules\annuaireCLIC\resultats-recherche.php on line 36
Erreur SQL : You have an error in your SQL syntax near ''annu_logements_foyers' WHERE (c04 LIKE 'Bonneuil') AND (c01 LIKE '' OR c02 LIKE' at line 1

  Profil  
Jireck
8502       

Jireck
  Posté : 22-02-2005 09:12

Pomme je t'est filer la bible sql.
lis et tu revera tout..;

  Profil  
Pomme
7540       
 

Pomme
  Posté : 23-02-2005 01:41

Je l'ai lu mais va falloir queje la relise apperement... J'ai fait autrement entre temps. Je vais mettre résolu meme si ça l'est pas vraiment.

  Profil  
Sauter à :

Temps : 0.0169 seconde(s)