Petit Prob

Répondre
Lefounard
le 05/04/2004 à 17:03
Lefounard
Salut a tous voila je rencontre un prob avec un formulaire :
Voici le formu :
<?php
mysql_connect("localhost", "toutdroit", "");
mysql_select_db("news");

$reponse = mysql_query("SELECT * FROM news");
?>
<?php
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<form action="trait_news.php" method="post">
<table width="100%" border="1" bgcolor="#ffffcc">
<tr>
<td width="26%"><div align="center"><?php echo($donnees['titre']); ?></div></td>
<td width="31%" align="center"><?php echo($donnees['auteur']); ?></td>
<td width="18%"><div align="center"><?php echo($donnees['date']); ?></div></td>
<td align="center"><input type="checkbox" name="<?php echo($donnees['id']); ?>" value="<?php echo($donnees['id']); ?>"></td>
<td><input type="submit" name="editer" value="editer"></td>
<td><input type="submit" name="supprimer" value="supprimer"></td>
</tr>
</table>
<br>
<?php
}
mysql_close();
?>



Voici le script qui traite les infos !
<?
if (isset($_POST['supprimer']))
{
mysql_connect("localhost", "toutdroit", "");
mysql_select_db("news");
$reponse = mysql_query("SELECT * FROM news");
$sql = "DELETE FROM news WHERE id='" . $_POST['id'] ."'";
print($sql);
mysql_query ( $sql ) or die (mysql_error()) ;
mysql_close();
}
else if (isset($_POST['editer']))
{
}
?>


Bon je n'ai pas encore les instructions de l'option "modifer" mais quand j'essais de supprimer une news de ma table mysql ca marche pas !
Ca m'affiche : "DELETE FROM news WHERE id='' "

Donc merci de votre aide !
I am singing in the rain , I am happy again !!
i M@N
le 05/04/2004 à 17:10
i M@N
Hello !

Essaye ça :

<?
if (isset($_POST['$id'])) $id = $_POST['$id]'; else $id= "";
if (isset($_POST['supprimer']))
{
mysql_connect("localhost", "toutdroit", "");
mysql_select_db("news");
$reponse = mysql_query("SELECT * FROM news");
$sql = "DELETE FROM news WHERE id='".$id."'";
print($sql);
mysql_query ( $sql ) or die (mysql_error()) ;
mysql_close();
}
else if (isset($_POST['editer']))
{
}
?>

@+...
One Love, One Heart, One Unity.
Lefounard
le 05/04/2004 à 18:26
Lefounard
Merci quand meme mais ta solution ne fonctionne pas toujours le meme message !!!
Merci encore de votre aide !
I am singing in the rain , I am happy again !!
i M@N
le 05/04/2004 à 18:53
i M@N
Reuh ...

Essaye ça alors :

<?
if (isset($_POST['$id'])) $id = $_POST['$id']; else $id= "";
if (isset($_POST['supprimer']))
{
mysql_connect("localhost", "toutdroit", "");
mysql_select_db("news");
$reponse = mysql_query("SELECT * FROM news");
$sql = 'DELETE FROM news WHERE id="'.$id.'"';
print($sql);
mysql_query ( $sql ) or die (mysql_error()) ;
mysql_close();
}
else if (isset($_POST['editer']))
{
}
?>

@+...
One Love, One Heart, One Unity.
Lefounard
le 05/04/2004 à 19:24
Lefounard
Toujours pareille , ca doit venir d'un prob de la transmission de l'id !!
Je pourrais mettre autre chose a la place des checkboxs ???
I am singing in the rain , I am happy again !!
savageman
le 05/04/2004 à 20:04
savageman
Essaye ca:

<?php 
mysql_connect("localhost", "toutdroit", "");
mysql_select_db("news");

$reponse = mysql_query("SELECT * FROM news");
?>
<?php
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<form action="trait_news.php" method="post">
<table width="100%" border="1" bgcolor="#ffffcc">
<tr>
<td width="26%"><div align="center"> <?php echo($donnees['titre']); ?> </div></td>
<td width="31%" align="center"> <?php echo($donnees['auteur']); ?> </td>
<td width="18%"><div align="center"> <?php echo($donnees['date']); ?> </div></td>
<td align="center"><input type="checkbox" name="id" value=" <?php echo($donnees['id']); ?> "></td>
<td><input type="submit" name="editer" value="editer"></td>
<td><input type="submit" name="supprimer" value="supprimer"></td>
</tr>
</table>
<br>
<?php
}
mysql_close();
?>
savageman
le 05/04/2004 à 20:05
savageman
Nan zut, j'avais pas vu la checkbox, remplace par type="hidden", ca sera un champ caché comme ca :p
LA GLOBULE
le 05/04/2004 à 20:20
LA GLOBULE
Ce qui cloche dans le code, c'est ca :
<input type="checkbox" name=" <?php echo($donnees['id']); ?> " value=" <?php echo($donnees['id']); ?> ">

En effet, on ne peut pas declarer un chiffre comme etant une variable (la, avec ton name, on aura des trucs du genre $1, ce qui est impossible).
La technique a utiliser c'est de mettre un tableau dans le name de tes checkboxs.

Exemple :
<input type="checkbox" name="tablo[]" value="echo($donnees['id']); ?> " value="<?php echo $donnees['id']; ?>"

Et la, dans la page de traitement, tu recuperes $_POST['tablo'] qui est un tablo (de type array) contenant les id des news que tu as coché (fais un print_r ($_POST['tablo']); pour mieux voir sa structure et t'y familiariser).
Lefounard
le 06/04/2004 à 14:17
Lefounard
Excuse moi LA GLOBULE mais je suis vraiment debutant et je ne comprends pas toute ta reponse pourrais-tu plus détailler a propos a propos de l'histoire du tableau ?
Merci de ton aide :)
I am singing in the rain , I am happy again !!
LA GLOBULE
le 06/04/2004 à 14:35
LA GLOBULE
Ben un tableau, c'est un type de variable.

Essaye ce que je t'ai dit, et lis aussi le cours sur la declaration des variables (la section tableau de ce cours).
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours