Bonjour,
Je dois créer une formulaire de gestion pour gérer l'ordre d'affichage d'élément d'un tableau SQL. Mais j'ignore totalement comment m'y prendre. D'habitude je ne faire des UPDATE sql que pour une seule ligne alors que là il s'agit de faire un UPDATE sur plusieurs lignes. J'ai fait des recherche sur internet, mais je n'arrive pas à comprendre....
Voilà où j'en suis:
Le code html n'est pas génial, mais il s'agit ici d'une utilisation à l'interne.
Modifié par juliesunset (18 Feb 2015 - 16:46)
Je dois créer une formulaire de gestion pour gérer l'ordre d'affichage d'élément d'un tableau SQL. Mais j'ignore totalement comment m'y prendre. D'habitude je ne faire des UPDATE sql que pour une seule ligne alors que là il s'agit de faire un UPDATE sur plusieurs lignes. J'ai fait des recherche sur internet, mais je n'arrive pas à comprendre....
Voilà où j'en suis:
if (empty($_POST['enregistrer'])){
$requete = mysql_query("SELECT * FROM spec_categories WHERE site != 'xcel' ORDER BY ordre") or die("22 - ".mysql_error());
?>
<form action="" method="post" name="form" id="form" onsubmit="return verif()">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<th height="53" colspan="3" scope="col"><h1>
<legend>Modifier l'ordre des Catégories</legend></h1></th>
</tr>
<?php
while ($modif = mysql_fetch_assoc($requete)){
?>
<tr>
<td width="40%" height="31" align="right" valign="top" scope="col">
<select name="ordre" id="ordre">
<?php
$select = mysql_query('SELECT id,fr,ordre FROM spec_categories WHERE site != "xcel"') or die("42 - ".mysql_error());
while ($data = mysql_fetch_array($select)){
?>
<option value="<?php echo $data['ordre'] ?>" <?php echo ($data['id'] == $modif['id']?'selected':''); ?>><?php echo $data['ordre'] ?></option>
<?php
}
?>
</select>
</td>
<td width="60%" valign="top" scope="col"> <?php echo $modif['fr']; ?>
</td>
</tr>
<?php
}
?>
<tr>
<td height="31" valign="top" scope="col"> </td>
<td valign="top" scope="col"><input name="enregistrer" type="submit" value="Enregistrer" /></td>
</tr>
</table>
</form>
<?php
}
else{
$ordre = mysql_real_escape_string($_POST['ordre']);
if(mysql_query("UPDATE spec_categories SET ordre = (case when id='".$modif['id']."' then '$ordre' end) WHERE (id in '".$modif['id']."')") or die("79 - ".mysql_error())){
echo "L'ordre des catégories a été modifié.";
?>
<?php
}
}
?>
Le code html n'est pas génial, mais il s'agit ici d'une utilisation à l'interne.
Modifié par juliesunset (18 Feb 2015 - 16:46)