Recherche sur une table mais sur plusieurs champs

Mammouth du PHP | 1311 Messages

14 déc. 2005, 20:49

SELECT *
FROM agent
WHERE nom
LIKE '%guendon%' AND postal
LIKE '%33200%'
ORDER BY nom0
LIMIT 0 , 30
j'ai pas suivi tous le poste mais nulle part j'ai vue nom0
est ce que ce champ existe dans ta table :?: :?: :?:

Mammouth du PHP | 1776 Messages

14 déc. 2005, 20:53

SELECT *
FROM agent
WHERE nom
LIKE '%guendon%' AND postal
LIKE '%33200%'
ORDER BY nom0
LIMIT 0 , 30
j'ai pas suivi tous le poste mais nulle part j'ai vue nom0
est ce que ce champ existe dans ta table :?: :?: :?:
NBon, mais c les deux resultats...
Lance ton fichier et affiches ici sans passer sous mysql la reponse de la page.

Eléphant du PHP | 206 Messages

14 déc. 2005, 20:55

oui oui mon champ nom existe bel et bien.

Sans passer par mysql, ça ne m'affiche rien du tout :/

AUcune erreur je pige pas là

Mammouth du PHP | 1776 Messages

14 déc. 2005, 20:58

oui oui mon champ nom existe bel et bien.

Sans passer par mysql, ça ne m'affiche rien du tout :/

AUcune erreur je pige pas là
Tu veux dire que ce code...
<? 
include('connection.inc.php'); 
$form_nom = htmlentities($_POST['nom'],ENT_QUOTES); 
$form_postal = htmlentities($_POST['postal'],ENT_QUOTES); 
$query = "SELECT * FROM agent WHERE nom LIKE '%".$form_nom."%' AND postal LIKE '%".$form_postal."%' ORDER BY nom"; 
$reponse = mysql_query($query)or die ('Erreur SQL !<br>'.mysql_error()); 

while ($donnees = mysql_fetch_array($reponse) ) 
{ 
// on affiche les informations de l'enregistrement en cours 
echo $donnees['nom']; 
echo "<br />"; 
echo $donnees['postal']; 
echo "<br />"; 
} 
echo "requête: ".$query."<br>nombre: ".mysql_num_rows($reponse); 
?> 
affiche quedal ??? :?

Eléphant du PHP | 206 Messages

14 déc. 2005, 21:01

oué :/

requête: SELECT * FROM agent WHERE nom LIKE '%guedon%' AND postal LIKE '%Code postal%' ORDER BY nom
nombre: 0

ca me donne ça

pourtant le nom est bien dans ma base

Mammouth du PHP | 1776 Messages

14 déc. 2005, 21:07

oué :/

requête: SELECT * FROM agent WHERE nom LIKE '%guedon%' AND postal LIKE '%Code postal%' ORDER BY nom
nombre: 0

ca me donne ça

pourtant le nom est bien dans ma base
La structure de ta table, poste là stp...

Mammouth du PHP | 1311 Messages

14 déc. 2005, 21:08

fait un echo de ta requete et execute la dans phpmyadmin mais cette fois ci fait gaffe au copier coller :wink:

Mammouth du PHP | 1776 Messages

14 déc. 2005, 21:14

fait un echo de ta requete et execute la dans phpmyadmin mais cette fois ci fait gaffe au copier coller :wink:
requête: SELECT * FROM agent WHERE nom LIKE '%guedon%' AND postal LIKE '%Code postal%' ORDER BY nom
nombre: 0
La requête est correcte ! Pas de code d'erreur ! De plus, cela retourne 0 enregistrements, donc je vise plutôt la correspondance entre la requête et sa table... :roll:

Mammouth du PHP | 1311 Messages

14 déc. 2005, 21:31

c'est ce que je suggerai :)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 déc. 2005, 22:31

[
requête: SELECT * FROM agent WHERE nom LIKE '%guedon%' AND postal LIKE '%Code postal%' ORDER BY nom
nombre: 0
La requête est correcte ! Pas de code d'erreur ! De plus, cela retourne 0 enregistrements, donc je vise plutôt la correspondance entre la requête et sa table... :roll:
c'est plustot le champ "postal" qui n'est pas trouvé,avec "Code postal" :-k

et donc la requete ne renvoie aucun résultat.

essaie celle-ci, la meme que tu avais donnée sans le champ "nom0"
SELECT *
FROM agent
WHERE nom
LIKE '%guendon%' AND postal
LIKE '%33200%'
ORDER BY nom
directement dans phpmyadmin.

si tu n'as pas de résultat c'est que les champs n'existent pas,orthographe !

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 206 Messages

15 déc. 2005, 10:39

bonjour,

cette requête à fonctionné :

SELECT *
FROM agent
WHERE nom
LIKE '%guendon%' AND postal
LIKE '%33200%'
ORDER BY nom

directement dans phpmyadmin

mais je vois pas pourkoi cette requete ne me retourne rien du tout
<?
include('connection.inc.php');
$form_nom = htmlentities($_POST['nom'],ENT_QUOTES);
$form_postal = htmlentities($_POST['postal'],ENT_QUOTES);
$query = "SELECT * FROM agent WHERE nom LIKE '%".$form_nom."%' AND postal LIKE '%".$form_postal."%' ORDER BY nom";
$reponse = mysql_query($query)or die ('Erreur SQL !<br>'.mysql_error());

while ($donnees = mysql_fetch_array($reponse) )
{
// on affiche les informations de l'enregistrement en cours
echo $donnees['nom'];
echo "<br />";
echo $donnees['postal'];
echo "<br />";
}
?>
Est-ce que meme si je ne rempli qu'un seul champ cela fonctionne avec ce code ?

Mammouth du PHP | 1311 Messages

15 déc. 2005, 10:42

si ta requete ne te retourne rien, c'est que ta requete n'est pas adapté
fait voir comment est organiser ta table(quelque lignes seulement)

ViPHP
pjl
ViPHP | 2119 Messages

15 déc. 2005, 10:46

si tu n'as pas de résultat c'est que les champs n'existent pas,orthographe !
Il y aurait un message d'erreur dans ce cas de figure.
Est-ce que meme si je ne rempli qu'un seul champ cela fonctionne avec ce code ?
As tu compris ta requête ?
Tu mets ET dedans.
Si tu vas dans un café et que tu demandes un café ET un thé, le serveur est censé t'apporter les 2.
C'est pareil pour ta base de données.
Si tu veux l'un ou l'autre, c'est OU.

Eléphant du PHP | 206 Messages

15 déc. 2005, 10:47

autre chose mes données proviennent d'un insertion par fichier txt. Peut etre que cela viens de la aussi nan ?

ma table agent :

id int(11)
portefeuille text
nom text
adresse1 text
adresse2 text
postal text
tel text

etc...

c'est bien ça que tu me demandais?

Eléphant du PHP | 206 Messages

15 déc. 2005, 10:57

je viens de trouver une requête qui marche :
<?
include('connection.inc.php');
$query = "SELECT * FROM agent WHERE nom LIKE '%".$_POST['nom']."%' AND postal LIKE '%".$_POST['postal']."%' ORDER BY nom";
$reponse = mysql_query($query)or die ('Erreur SQL !<br>'.mysql_error());

while ($donnees = mysql_fetch_array($reponse) )
{
// on affiche les informations de l'enregistrement en cours
echo $donnees['nom'];
echo "<br />";
echo $donnees['postal'];
echo "<br />";
}
?>
cela vous parait propre?