begin process at 2012 05 31 02:46:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

problème syntaxe requete sql couplée avec php.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème syntaxe requete sql couplée avec php.

mercredi 26 août 2009 à 11:54:12 | problème syntaxe requete sql couplée avec php.

anthony428

Salut,
j'essai d'adapter un script qui me permet de rechercher dans ma base de données en fonction des mots clés tapés dans un moteur de recherche.
Le problème est que je voudrais ajouter une condition à ma requete sql et que je n'y arrive pas.

Voici la fonction :
Code PHP :


function requete($table, $champs, $select, $order, $sens, $limit_start, $limit_nb, $count = '')

{

// option de recherche

$option = $_POST['option'];

// texte de recherche

$search = $_POST['search'];



// si c'est le premier appel de la fonction

if(!isset($fonction_requete))

{

static $fonction_requete = 1;



// si "Rechercher tous les mots" ou "Rechercher un de ces mots"

if($option == 'all' || $option == 'one')

{

// liste des mots

$mots = explode(' ', $search);



// spararateur

if($option == 'all')

$sep = ' AND ';

else

$sep = ' OR ';

} // if($option == 'all' || $option == 'one')

// "Rechercher l'expression exacte"

else

{

$mots = $search;

$sep = '';

}

} // if(!isset($fonction_requete))



if(!is_array($champs))

$champs = array($champs);



if($option == 'all' || $option == 'one')

{

// pour savoir si on en est la premire itration ou non

$i = 0;



// pour tous les mots

foreach($mots as $mot)

{

if(!$i)

{

$search = '~#^!|!^#~ LIKE \'%' . $mot . '%\'';

$i = 1;

}

else

$search .= $sep . '~#^!|!^#~ LIKE \'%' . $mot . '%\'';

} // foreach($mots as $mot)

} // if($option == 'all' || $option == 'one')

else if($option == 'sentence')

$search = '~#^!|!^#~ LIKE \'%' . $mots . '%\'';



$i = 0;



// dbut de requte

if(empty($count))

$req_search = 'SELECT ' . $select . ' FROM ' . $table . ' WHERE ' ;

else

$req_search = 'SELECT count(' . $count . ') FROM ' . $table . ' WHERE ' ;



// ajout des champs

foreach($champs as $champ)

{

if(!$i)

{

$req_search .= '( ' . str_replace('~#^!|!^#~', $champ, $search) .' ) ';

$i = 1;

}

else

$req_search .= 'OR ( ' . str_replace('~#^!|!^#~', $champ, $search) .' ) ';

}



if(empty($count))

{

$req_search .= "ORDER BY $order $sens LIMIT $limit_start, $limit_nb";



return $req_search;



} }



Je ne comprends pas comment adapter ma requête.
Je voudrais que ma requête affiche le même résultat mais seulement si le champ auteur = $login
En théorie, je devrais donc rajouter à la fin de ma requete :

WHERE auteur = '$login';

Cette syntaxe SQL fonctionne en direct sur ma base mais pas lorsque j'essai de l'adapter dans mon code.

J'ai essayé de l'adapter ici mais cela ne fonctionne pas :
Code PHP :



$req_search = 'SELECT ' . $select . ' FROM ' . $table . ' WHERE auteur = '$login'' ;



Est ce que quelqu'un pourrait m'aider à y voir plus clair ?
Merci d'avance.

mercredi 26 août 2009 à 18:50:48 | Re : problème syntaxe requete sql couplée avec php.

anthony428

Post résolu ici :
http://www.phpcs.com/infomsg.aspx?ID=1351620&p=2



Cette discussion est classée dans : mots, requete, option, search, if


Répondre à ce message

Sujets en rapport avec ce message

problème fonction. [ par anthony428 ] Salut, j'essai d'adapter un script qui me permet de rechercher dans ma base de données en fonction des mots clés tapés dans un moteur de recherche. fonction php "cochez tout" [ par anthony428 ] Bonjour, j'ai une page php qui m'affiche des cases à cocher en fonction des résultats retournés dans ma base de données. Le problème est que je sou Récupérer les mots-clés [ par riggs ] Salut,je voudrais récupérer les mots entrés par mes visiteurs sur le moteur de recherche (requete) pour les afficher dans champ recherche de mon siteh impossible de se connecter a la base sur mon systeme virtuel mais en ligne cela fonctionne [ par lorant59 ] bnnjour à tous et à toutes! jai mon fichier qui permet de valider mon formulaire mais impossible de se connecter à la base lorsque je suis sur mon sys recuperer une requete generer automatiquement [ par ineuls ] bonjourmon code est un generateur de requete qui affiche dans une fenetre popup la requete a excuter sous phpMyAdmin.je souhaite que la requete s'exéc case a cocher php /mysql [ par yoyo77yo ] Bonjour !! et bonne année J'ai un probleme : j'ai repris le code de quélqu'un que j'ai payé mais par contre il n'est pas complet donc je voudrait creer une requete a partir d'un form [ par clement1138 ] bon d'abord le code apres j'explique : [code]$z=0;if(isset($_POST['submit'])){ $societe_selectionnes = " "; for($i=1;$i for($j=1;$j  for($k=1;$k probleme de requete [ par amine390 ] salutbonsoir mes amis voila j'ai un probleme au niveau de base de donne je sais pas comment le resoudre j'ai un formulaire en html qui envoi les donne Requete MySQL + Condition IF [ par errahmouninawal ] Bonjour tout le monde, Je sais pas pourqoui la requete MySQL n'execute pas a l'interieur du "IF ELSE" [del]Voila mon code PHP:[/del] if (isset($_POST requete tri alphabet [ par bob ] salut tout le monde je fais des requetes de tri alphabetique sur mon site par exemple, si l'utilisateur clic sur A, j'affiche une liste avec tous les


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,200 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales