Problème de script "liste déroulante"

Petit nouveau ! | 3 Messages

05 oct. 2016, 20:52

Bonjour, je galère sur un petit script en php, je ne mis connais pas beaucoup non plus, mais je fait de mon mieux,mon script ne fonctionne pas comme je veut. Je voudrais faire une liste dans le quelle il y a tout les ID des news et quand on séléctionne l'ID de la news et que l'on valide sa supprime la news. Merci a Vous. Arthur

Le script :arrow: :arrow: http://pastebin.com/cni1FqEc

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 oct. 2016, 11:05

salut

c'est pas clair, voir un gros bordel le code indiqué.

en gros pour afficher les données d'une table dans un select
<?php
if(!empty($_POST['delete'])&& !empty($_POST['news'])) {
$stmt =  $bdd->prepare('DELETE from news WHERE id= :id');;
$stmt->bindValue(':id',$_POST['news']);
$stmt->execute();
}
?>
<form method="post">
<select name="news">
<?php
$reponse = $bdd->query('SELECT id, nom FROM news');
 
while ($donnees = $reponse->fetch())
{
    echo '<option value="',$donnees['id'],'">,'$donnees['nom']',</option>';
}
?>
</select>
<input type="submit" name="delete" value="Supprimer" />
</form>
Ton code montre plusieurs façon de ce connecter à la base de données, j'ai l'impression qu'il s'agit d'un congloméra de chose trouvée sur le net ?
ce n'est pas une bonne idée, parce que l'extension mysql est en fin de vie (supprimée de php7) et qu'il faut lui préférer mysqli ou PDO.

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 3 Messages

06 oct. 2016, 20:09

Ton code ne fonctionne pas :(

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

07 oct. 2016, 11:11

et ?
je ne dispose pas du reste de ton code ni de tas base de données j'ai donc composé avec ce que tu fournis.
tu peux surement voir s'il y a un message d'erreur et / ou essayer de déboguer la chose pour avancer ?

je pense que tu aurais pu corrigé les erreurs de syntaxe que php (ou ton bon editeur de texte pour développer) a du t'indiquer
<?php
if (!empty($_POST['delete'])&& !empty($_POST['news'])) {
    $stmt =  $bdd->prepare('DELETE from news WHERE id= :id');
    ;
    $stmt->bindValue(':id', $_POST['news']);
    $stmt->execute();
}
?>
<form method="post">
<select name="news">
<?php
$reponse = $bdd->query('SELECT id, nom FROM news');

while ($donnees = $reponse->fetch()) {
    echo '<option value="',$donnees['id'],'">',$donnees['nom'],'</option>';
}
?>
</select>
<input type="submit" name="delete" value="Supprimer" />
</form>
@+
Il en faut peu pour être heureux ......