par
Cyrano » 31 mars 2006, 09:57
Proposition à tester, j'ai repris ton code, optimisé quelques détail et corrigé de petites erreurs : prends l'habitude d'être rigide quand tu code, ca facilite la relecture ensuite et on repère beaucoup plus facilement les erreurs : essaye ca et reviens avec le message d'erreur s'il y en a un :
<?php
if ($_POST['mat'] =="")
{
echo "<script languague=\"javascript\">location.href='creation.php?error=entrer un matricule'</script>";
}
else
{
$connexion = mysql_connect('***','***','') or die('Erreur de connexion '.mysql_error());
mysql_select_db('***',$connexion) or die('Erreur de selection '.mysql_error());
$requete3 = "SELECT matricule FROM detail WHERE matricule = '". $_POST['mat'] ."' ";
$resultat3 = mysql_query($requete3,$connexion) or die('Erreur de selection '.mysql_error());
mysql_close($connexion);
if (mysql_num_rows($resultat3) < 1)
{
$msg_erreur = urlencode("ce matricule n'existe pas");
echo "<script languague=\"javascript\">location.href='creation.php?error=". $msg_erreur ."'</script>";
}
$connexion = mysql_connect('***','***','') or die('Erreur de connexion '.mysql_error()); // Connexion à la base de donnée
mysql_select_db('***', $connexion) or die('Erreur de selection '.mysql_error());
$requete2 = "SELECT id_detail, num_portable, matricule, date, date_inter, libelle_status ".
"FROM detail ".
"LEFT JOIN staus ".
"ON staus.id_status = detail.id_status ".
"WHERE matricule = '". $_POST['mat'] ."' ".
"AND detail.id_status = 2 ".
"OR detail.id_status = 3 ".
"ORDER BY id_detail DESC ";
$resultat2 = mysql_query($requete2, $connexion) or die('Erreur de selection '.mysql_error()); // execution de la requete
mysql_close($connexion);// Fermeture de la connexion
while($rows = mysql_fetch_array($resultat2))
{
$id_detail = $rows['id_detail'];
$num_portable = $rows['num_portable'];
$matricule = $rows['matricule'];
$date1 = $rows['date']; // contient la date au format sql
$date2 = $rows ['date_inter'];
$status = $rows['libelle_status'];
$datefr2 = date_fr2($date1); // fais appel à la fonction en lui passant la date que je veux traiter en paramètre, elle retourne le tableau
$date_incident = $datefr2['date']; // affichera la valeur associée à l'index 'date', à savoir la date formatée
$datefr3 = date_fr3($date2);
$date_inter = $datefr3['date_inter'];
?>
<tr>
<td ><input type="button" onClick="location.href='portables.php?incident=<?php echo($id_detail); ?>&mat=<?php echo($matricule); ?>&port=<?php echo($num_portable); ?>&date=<?php echo($date_incident); ?>&date_inter=<?php echo($date_inter); ?>';" value="<?php echo($id_detail); ?>"></td>
<td > <?php echo($num_portable); ?></td>
<td > <?php echo($matricule); ?> </td>
<td > <?php echo($date_incident); ?></td>
<td > <?php echo($date_inter); ?></td>
<td > <?php echo($status); ?> </td>
<td > <?php echo($port); ?></td>
</tr>
<?php
}
}
?>
Tu noteras que j'ai également remplacé l'utilisation de mysql_db_query par mysql_query : comme tu as déjà une ligne mysql_select_db, il est inutile de la sélectionner à nouveau lors de l'exécution.
Proposition à tester, j'ai repris ton code, optimisé quelques détail et corrigé de petites erreurs : prends l'habitude d'être rigide quand tu code, ca facilite la relecture ensuite et on repère beaucoup plus facilement les erreurs : essaye ca et reviens avec le message d'erreur s'il y en a un :
[php]<?php
if ($_POST['mat'] =="")
{
echo "<script languague=\"javascript\">location.href='creation.php?error=entrer un matricule'</script>";
}
else
{
$connexion = mysql_connect('***','***','') or die('Erreur de connexion '.mysql_error());
mysql_select_db('***',$connexion) or die('Erreur de selection '.mysql_error());
$requete3 = "SELECT matricule FROM detail WHERE matricule = '". $_POST['mat'] ."' ";
$resultat3 = mysql_query($requete3,$connexion) or die('Erreur de selection '.mysql_error());
mysql_close($connexion);
if (mysql_num_rows($resultat3) < 1)
{
$msg_erreur = urlencode("ce matricule n'existe pas");
echo "<script languague=\"javascript\">location.href='creation.php?error=". $msg_erreur ."'</script>";
}
$connexion = mysql_connect('***','***','') or die('Erreur de connexion '.mysql_error()); // Connexion à la base de donnée
mysql_select_db('***', $connexion) or die('Erreur de selection '.mysql_error());
$requete2 = "SELECT id_detail, num_portable, matricule, date, date_inter, libelle_status ".
"FROM detail ".
"LEFT JOIN staus ".
"ON staus.id_status = detail.id_status ".
"WHERE matricule = '". $_POST['mat'] ."' ".
"AND detail.id_status = 2 ".
"OR detail.id_status = 3 ".
"ORDER BY id_detail DESC ";
$resultat2 = mysql_query($requete2, $connexion) or die('Erreur de selection '.mysql_error()); // execution de la requete
mysql_close($connexion);// Fermeture de la connexion
while($rows = mysql_fetch_array($resultat2))
{
$id_detail = $rows['id_detail'];
$num_portable = $rows['num_portable'];
$matricule = $rows['matricule'];
$date1 = $rows['date']; // contient la date au format sql
$date2 = $rows ['date_inter'];
$status = $rows['libelle_status'];
$datefr2 = date_fr2($date1); // fais appel à la fonction en lui passant la date que je veux traiter en paramètre, elle retourne le tableau
$date_incident = $datefr2['date']; // affichera la valeur associée à l'index 'date', à savoir la date formatée
$datefr3 = date_fr3($date2);
$date_inter = $datefr3['date_inter'];
?>
<tr>
<td ><input type="button" onClick="location.href='portables.php?incident=<?php echo($id_detail); ?>&mat=<?php echo($matricule); ?>&port=<?php echo($num_portable); ?>&date=<?php echo($date_incident); ?>&date_inter=<?php echo($date_inter); ?>';" value="<?php echo($id_detail); ?>"></td>
<td > <?php echo($num_portable); ?></td>
<td > <?php echo($matricule); ?> </td>
<td > <?php echo($date_incident); ?></td>
<td > <?php echo($date_inter); ?></td>
<td > <?php echo($status); ?> </td>
<td > <?php echo($port); ?></td>
</tr>
<?php
}
}
?>[/php]
Tu noteras que j'ai également remplacé l'utilisation de mysql_db_query par mysql_query : comme tu as déjà une ligne mysql_select_db, il est inutile de la sélectionner à nouveau lors de l'exécution.