Bonjour à tous,
Voici mon problème, je n'arrive pas à supprimer une ligne dans ma base de donnée quand je clique sur une image.
Je pense que c un problème de variable mais je n'arrive pas à le résoudre. Si quelqu'un pouvai m'aider sa serai cool merci.
voici mon code:
<?php
$i=0;
while ( $compo=mysql_fetch_array($result))
{
if($i%2) $color=white; //color une ligne sur deux
else $color=aqua;
$i++;
echo"<tr bgcolor=$color>";
echo"<td width='10%'>".$compo['nom']."</td>";
echo"<td width='10%'>".$compo['prenom']."</td>";
echo"<td width='8%'>".$compo['organi']."</td>";
echo"<td width='10%'>".$compo['interlocuteur']."</td>";
echo"<td width='10%'>".$compo['status']."</td>";
echo"<td width='10%'>".$compo['adresse']."</td>";
echo"<td width='8%'>".$compo['postale']."</td>";
echo"<td width='10%'>".$compo['ville']."</td>";
echo"<td width='8%'>".$compo['telephone']."</td>";
echo"<td width='10%'>".$compo['fax']."</td>";
echo"<td width='10%'>".$compo['mail']."</td>";
echo"<td width='10%'>".$compo['internet']."</td>";
echo"<td width='50%'>".$compo['objet']."</td>";
echo"<td>MON PROBLEME VIENT DE CETTE LIGNE
</td>";
echo"</tr>";
}
echo"</table>";
mysql_close();
}
La ligne en question appel une page ici supp.php:
<?php
include ("config.php");
$link=mysql_connect($host,$login,$pass) or die(mysql_error());
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
// Rendre la base de données contact, la base courante
$db_selected = mysql_select_db('ilo_kids', $link);
if (!$db_selected) {
die ('Impossible de selectionner la base de donnees : ' . mysql_error());
}
$sql="DELETE FROM contact WHERE telephone=".$_GET['ref'].";"; mysql_query($sql)or die(mysql_error());
header("Location: contactprivee.php");
?>
Si vous avez des solutions n'hésitez pas, g planché pas mal de tps, je suis sur que la solution est simple
A voir également:
Problème pour supprimer une ligne de ma base de donnée
C bon, je vient de trouver !
La page de suppression ne recevait rien donc je me suis penché sur la page d'envoie.
Après quelques recherches g remarqué que j'avais des erreurs de slache.
j'ai effectué les modifications mais cela ne supprime rien, je ne comprend pas car quand je fait une requète direct sur ma base de donnée mysql, sa supprime bien, est ce que sa serai un problème de connection? je ne pense pas, car sinon il m'afficherai un message d'erreur.
C bon! Merci beaucoup pour ta première réponse. j'avais bien un problème de type. et normal que je ne pouvais pas effacé car les lignes déjà présente que je voulait effacé était en int. Merci pour ton aide. bonne journée
la suppression d'une ligne en fonction d'un élément fonctionne mais seulement si il est vide. est ce que je doi changer de type de variable dans ma table? si oui , pourquoi?
Tentes d'être clair, est-ce qu etu veux dire que la ligne ne s'efface que si les éléments sont vides ?
Dans ce cas, regardes bien (un echo par exemple) ta requête avant d el'exécuter, il ets probable que la clause WHERE n'est pas réellement comme tu la penses.
bonjour,
oui c bien sa, la ligne ne se supprime que lorsque le champ sélectionné (ici telephone) est vide.sinon, qu'est ce que tu entend par la clause WHERE n'est pas réellement comme je penses?
Ce qu ej'entends par là, c'est qu'en regardant le code généré, et en le testant en direct, on peut souvent trouver des erreurs d'inatention, ou de champs de saisie pas controlés, d'où dans ces cas là, un exament direct de la requête permet de déterminer où est l'erreur.
En particulier, si le champ choisi n'est accepté que s'il est vide, il doit y avoir un problème avec le passage de paramètres.
alors, j'ai essayé de faire en direct la requète sur ma base de donné et sa fonctionne, donc mon problème est le fait de prendre et d'utiliser la variable telephone.
donc mon problème ma variable
echo"<td></td>";
$sql="DELETE FROM contact WHERE telephone='".$_GET['ref']."'";