Ma requete ne tiens pas compte de la première valeure

Signaler
Messages postés
3
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
24 février 2006
-
Messages postés
3
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
24 février 2006
-
Galde
P
Bonjour
J'essaye de faire une recherche dans une table et cela fonctionne pas trop mal mais la première réponse est systématiquement oublié-
$select = "SELECT * FROM francophone WHERE artistes_groupes_fra LIKE '%$h%'"; //dans $h il y a ce qui vient du champ du formulaire de recherche.
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result); //(la si je met $result+1 et bien cela marche avec un message d'erreur)
$total = mysql_num_rows($result);
-dans mon résultat, il manque toujours une réponse- si quelqu'un peu corriger ce code ou m'éclairer ... et bien ce serait super sympa - merci !

5 réponses

Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
essaie comme ça
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_array($result);


sinon c'est fait comment la boucle de chargement du resultat ??
Messages postés
3
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
24 février 2006

Galde
P
merci de ta réponse. J'ai essayé mais cela ne marche pas mieux. Mais je crois que ta réflexion sur une boucle est judicieuse. il me semble qu'il manque quelque chose de ce genre dans mon script.Comme tu l'a remarqué je ne suis pas encore très performant en php... Voici mon code de façon plus complet.merci encore
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());


//---------------------------------
//$h=$_POST['chp_nom'];
if(isset($_POST['chp_nom']))//verifie que les variables existent
{
$h=$_POST['chp_nom'];//variables POST pour récupérer les variables venant du formulaire, mettre "chp nom" dans la variable "h"
print("<center>$h</center>");
//----------------------------------
//SELECT * FROM clients_tbl WHERE nom LIKE '%ri%'
$select = "SELECT * FROM francophone WHERE artistes_groupes_fra LIKE '%$h%'";
//$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
//$row = mysql_fetch_row($result);
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_array($result);
$total = mysql_num_rows($result);
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
// début du tableau
echo ''.\"\n\";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '----
';
echo 'Artiste ou groupe, ';
echo 'titres, ';
echo 'format, ';
echo ''.\"\n\";
// lecture et affichage des résultats sur 2 colonnes
while($row = mysql_fetch_array($result)) {
echo '----
';
echo ''.$row['artistes_groupes_fra'].', ';
echo ''.$row['titres_fra'].', ';
echo ''.$row['formats_fra'].', ';
echo ''.\"\n\";
}
echo '
'."\n";
}
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
bon qu'est ce qui ne marche pas exactly ?
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
for($i=0;$i<$total;$i++) {

$artiste=mysql_result($result,$i,'artistes_groupes_fra');
$titre=mysql_result($result,$i,'titres_fra');
$format=mysql_result($result,$i,'formats_fra');

echo '<tr>';
echo '<td bgcolor="#BAB786">'.$artiste.'</td>';
echo '<td bgcolor="#BAB786">'.$titre.'</td>';
echo '<td bgcolor="#BAB786">'.$format.'</td>';
echo '</tr>'."\n";
}

et comme ça ?
Messages postés
3
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
24 février 2006

Galde
Pmerci pour ta patience
J'ai essayé ça mais cela ne fonctionne pas ... enfin c'est sans doute moi qui ne fait pas les bonnes manips. je capitule pour ce soir. Merci