xpatval
dimanche 17 octobre 2004 à 10:55
Bonjour,
En fait, mon souci se posai au niveau de l'affichage d'un texte existant, comportant des balises html codées normalement (c'est à dire avec des doubles-quotes lors de title="..." ou style="...".
j'ai résolu ce problème, sans véritablement le résoudre, je m'explique.
Le but est d'afficher certains champs (dont un texte) à des fins de modifications.
1: requête pour récupération des valeurs existantes dans le bdd afin de choisir le titre pour lequel le texte est à modifier:
CODE
<select class="form1" name="mod" onChange="submit()">
<?php
$sql = "select id_texte, id_langage, titre, texte from texte order by id_texte";
$res = mysql_query($sql);
while ($i = mysql_fetch_array($res))
{
$i['titre'] = stripslashes($i['titre']);
?>
<option value="<?php print $i['id_texte'] .'='. $i['id_langage'] .'='. $i'titre'] . '=' .$i['texte'];?>" selected ><?php echo $i['titre'] ;?></option>
<?php
}
?>
</select>
En tête de script, j'utilise ceci pour récupérer chaque valeur choisie:
CODE
if ($mod != "") list($id_texte,$id_lg,$titre,$texte) = split("=",$mod);
Avec ce principe, je suis infoutu de récupérer la valeur complète de $texte, celle-ci étant tronquée dès la rencontre de la première double-quote de la première balise html.
2: J'ai changé d'optique, en effectuant l'oération en deux requêtes.
La première afin de sélectionner le titre.
La deuxième afin de récupérer le texte en fonction du titre et affichage.
Dans ce cas, cela fonctionne.
Je précise que le script fonctionne de la manière suivante:
1: <form><select> choix du titre </select></form>
2: <form><input> le texte à modifier </form>
3 : Update