Probleme avec for
Résolu
ladj59
Messages postés
322
Date d'inscription
Statut
Membre
Dernière intervention
-
ladj59 Messages postés 322 Date d'inscription Statut Membre Dernière intervention -
ladj59 Messages postés 322 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
comment faire 2 for daffilée?
exemple
for (i=0 ; i<3 ; i++) && for (j=0; j<3; j++)
{....
quelle est la syntaxe??
comment faire 2 for daffilée?
exemple
for (i=0 ; i<3 ; i++) && for (j=0; j<3; j++)
{....
quelle est la syntaxe??
A voir également:
- Probleme avec for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
7 réponses
quelqu'un a une idée???
Bonjour,
il ne faut pas proceder ainsi, il faut construire une seule requette en fonction des données postées
il ne faut pas proceder ainsi, il faut construire une seule requette en fonction des données postées
$laRequete = "SELECT * FROM base_physique WHERE "; if(isset($_POST['annee']) && $_POST['annee'] !=""){ $laRequete.=" annee='".$_POST['annee']."'"; } et idem pour tous les autres champs et à la fin tu fais mysql_query(...
Un petit complément:
$laRequete = "SELECT * FROM base_physique WHERE auteur LIKE '%'";//si pas de champ saisi if(isset($_POST['auteur']) && $_POST['auteur'] !=""){//si auteur saisi $laRequete.=" AND auteur='".$_POST['auteur']."'"; } if(isset($_POST['motstitre']) && $_POST['motstitre'] !=""){ $laRequete.=" AND motstitre='".$_POST['motstitre']."'"; } if(isset($_POST['annee']) && $_POST['annee'] !=""){ $laRequete.=" AND annee='".$_POST['annee']."'"; } //etc, tu continues avec les autres champs //ensuite: $req=mysql_query($laRequete); //et la suite avec ta boucle while... //ainsi tu n'aura qu'une seule requette avec plus ou moinsd e conditions dans le WHERE
Il manque le $ au début du nom de variable laRequete. La ligne 14 doit être :
Il manque l'appel à mysql_query.
Par ailleurs, ton code est toujours écrit sans indentation reflêtant les blocs logiques. Ce n'est pas indispensable mais je voudrais te convaincre que ça permet de mettre au point beaucoup plus vite, surtout au déut.
Ton code devient :
$laRequete = "SELECT * FROM base_physique WHERE auteur LIKE '%'"; //LIGNE 14
Il manque l'appel à mysql_query.
Par ailleurs, ton code est toujours écrit sans indentation reflêtant les blocs logiques. Ce n'est pas indispensable mais je voudrais te convaincre que ça permet de mettre au point beaucoup plus vite, surtout au déut.
Ton code devient :
<?php $laRequete = "SELECT * FROM base_physique WHERE auteur LIKE '%'"; //LIGNE 14 $req = mysql_query($laRequete); if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" ) $laRequete .= " AND auteur='" . $_POST['auteur'] . "'"; if( isset($_POST['motstitre']) && $_POST['motstitre'] != "" ) $laRequete .= " AND motstitre='" . $_POST['motstitre'] . "'"; if( isset($_POST['année']) && $_POST['année'] != "" ) $laRequete .= " AND année='" . $_POST['année'] . "'"; if( isset($_POST['journal']) && $_POST['journal'] !="" ) $laRequete .= " AND journal='" . $_POST['journal'] . "'"; ?> <p> <table width="1200" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center">Auteur</td> <td align="center">Titre</td> <td align="center">Année</td> <td align="center">Journal</td> <td align="center">Volume</td> <td align="center">Page</td> <td align="center">Motsclé</td> <td align="center">Sujet</td> <td align="center">Pdf</td> <td align="center">References</td> </tr> <?php $req = mysql_query( $laRequete ); /// ligne ajoutée while( $donnees = mysql_fetch_array( $req ) ) { ?> <tr> <td align="center"><?php echo $donnees['auteur']; ?></td> <td align="center"><?php echo $donnees['motstitre']; ?></td> <td align="center"><?php echo $donnees['année']; ?></td> <td align="center"><?php echo $donnees['journal']; ?></td> <td align="center"><?php echo $donnees['volume']; ?></td> <td align="center"><?php echo $donnees['page']; ?></td> <td align="center"><?php echo $donnees['motscle']; ?></td> <td align="center"><?php echo $donnees['sujet']; ?></td> <td align="center"><a href="<?php echo $donnees['pdf']?>">pdf</a></td> <td align="center"><?php echo $donnees['references']; ?></td> </tr> </table> </p> <?php } ?>
juste un petit probléme il me met que le premier résultat trouvé dans le tableau et lers autres en dehors du tableau
que dois-je changer?
que dois-je changer?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oue javais pas vu....
Bonsoir, me revoilà
<?php
$laRequete = "SELECT * FROM base_physique WHERE auteur LIKE '%'"; //LIGNE 14
$req = mysql_query($laRequete);
if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
$laRequete .= " AND auteur='" . $_POST['auteur'] . "'";
if( isset($_POST['motstitre']) && $_POST['motstitre'] != "" )
$laRequete .= " AND motstitre='" . $_POST['motstitre'] . "'";
if( isset($_POST['année']) && $_POST['année'] != "" )
$laRequete .= " AND année='" . $_POST['année'] . "'";
if( isset($_POST['journal']) && $_POST['journal'] !="" )
$laRequete .= " AND journal='" . $_POST['journal'] . "'";
?>
si tu fais $req = mysql_query($laRequete); au moment ou tu l'as mis a quoi ça sert de faire le complement de requette derrière ?
il faut faire:
<?php
$laRequete = "SELECT * FROM base_physique WHERE auteur LIKE '%'"; //LIGNE 14
$req = mysql_query($laRequete);
if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
$laRequete .= " AND auteur='" . $_POST['auteur'] . "'";
if( isset($_POST['motstitre']) && $_POST['motstitre'] != "" )
$laRequete .= " AND motstitre='" . $_POST['motstitre'] . "'";
if( isset($_POST['année']) && $_POST['année'] != "" )
$laRequete .= " AND année='" . $_POST['année'] . "'";
if( isset($_POST['journal']) && $_POST['journal'] !="" )
$laRequete .= " AND journal='" . $_POST['journal'] . "'";
?>
si tu fais $req = mysql_query($laRequete); au moment ou tu l'as mis a quoi ça sert de faire le complement de requette derrière ?
il faut faire:
$laRequete = "SELECT * FROM base_physique WHERE auteur LIKE '%'"; //LIGNE 14 if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" ) $laRequete .= " AND auteur='" . $_POST['auteur'] . "'"; if( isset($_POST['motstitre']) && $_POST['motstitre'] != "" ) $laRequete .= " AND motstitre='" . $_POST['motstitre'] . "'"; if( isset($_POST['année']) && $_POST['année'] != "" ) $laRequete .= " AND année='" . $_POST['année'] . "'"; if( isset($_POST['journal']) && $_POST['journal'] !="" ) $laRequete .= " AND journal='" . $_POST['journal'] . "'"; $req = mysql_query($laRequete); ?>
exact j'ai changé ca
j'ai un autre probléme expliquer ici http://www.commentcamarche.net/forum/affich 5729717 probele avec l id
quelqu'un a une idée?
j'ai un autre probléme expliquer ici http://www.commentcamarche.net/forum/affich 5729717 probele avec l id
quelqu'un a une idée?
par contre si je veux faire if (($_POST['auteur']=='') && ($_POST['motstitre']!='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motscle']!='')) et la je ne sais pas comment faire car si je refais un for à la fin j'aurais un probléme notramment quand je fais while ($donnees = mysql_fetch_array($reponse)) car il y aura une autre requete réponse2 avec le 2éme for
Comment faire??
if (($_POST['auteur']=='') && ($_POST['motstitre']!='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motscle']==''))
{
$laRequete = "SELECT * FROM base_physique WHERE ";
for($rangMotstitre = 0 ; $rangMotstitre < sizeof($mots2) ; $rangMotstitre++)
{
if($rangMotstitre > 0)
$laRequete .= " OR ";
$laRequete .= "motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
}
$reponse = mysql_query( $laRequete );
if( !$reponse )
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $laRequete;
die($message);
}
if( mysql_num_rows( $reponse ) == 0 )
{
echo "Aucun résultat ne correspond à votre recherche";
}
else
{
?>
<p>
<table width="1200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">Auteur</td>
<td align="center">Titre</td>
<td align="center">Année</td>
<td align="center">Journal</td>
<td align="center">Volume</td>
<td align="center">Page</td>
<td align="center">Motsclé</td>
<td align="center">Sujet</td>
<td align="center">Pdf</td>
<td align="center">References</td>
</tr>
<?php
while ($donnees = mysql_fetch_array($reponse))
{
?>
<tr>
<td align="center"><?php echo $donnees['auteur']; ?></td>
<td align="center"><?php echo $donnees['motstitre']; ?></td>
<td align="center"><?php echo $donnees['année']; ?></td>
<td align="center"><?php echo $donnees['journal']; ?></td>
<td align="center"><?php echo $donnees['volume']; ?></td>
<td align="center"><?php echo $donnees['page']; ?></td>
<td align="center"><?php echo $donnees['motscle']; ?></td>
<td align="center"><?php echo $donnees['sujet']; ?></td>
<td align="center"><a href="<?php echo $donnees['pdf']?>">pdf</a></td>
<td align="center"><?php echo $donnees['references']; ?></td>
</tr>
<?php
}
?>
</table>
</p>