Enregistrement MySQL non ordonnée

Fermé
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 18 juil. 2011 à 16:49
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 19 juil. 2011 à 12:19
Bonjour,

Pouvez-vous m'aider à résoudre mon problème svp ?
Lorsque j'envoie les infos à MySQL, tout vas bien sauf qu'après un laps de temps, les enregistrements ne sont pas ordonnés :
<?php
include("conf.php"); include("fonctions.php"); include("verif.php");
$delai=0; 
$url='DernNews.php';

$db = mysql_connect('***', '***', '***');
mysql_select_db('***',$db);
$sql = 'SELECT DATE_FORMAT(DateJour, "%d-%m-%Y") AS DateFr, NewsJour FROM Web_Nouvelles ORDER BY DateFr DESC';
mysql_query('SET NAMES utf8');
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

//Ajout dans la table si bouton "submit" est cliqué
if (isset($_POST['button'])){ $add=mysql_query("INSERT INTO Web_Nouvelles SET DateJour=now(), NewsJour='$NewsJour'"); header("Refresh: $delai;url=$url");}

mysql_close();
?>


Voyez le dernier enregistrement :
30 	2011-07-18 16:44:06 	super, tu fais quoi ?
29 	2011-07-18 16:43:41 	je vais bien et toi ?
28 	2011-07-18 16:42:45 	comment tu vas ?
27 	2011-07-18 16:42:25 	c'est encore moi
26 	2011-07-18 16:42:20 	salut
31 	2011-07-18 16:44:57 	je code un bidule

Pouvez-vous m'aider svp ?
A voir également:

16 réponses

MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
18 juil. 2011 à 17:32
Salut,
Essai tout simplement ça
$sql = 'SELECT * FROM Web_Nouvelles ORDER BY DateFr DESC';

Et tu défini ce que tu veux écrire.
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
18 juil. 2011 à 17:49
Merci MastercroW ^^

Je peux demander un autre service svp ?

Dans mon body, si je voudrais ajouter un lien
<a href="">Supprimer</a>
Comment je peux supprimer un enregistrement ?
Voici mon code dans mon body :
<?php while($data = mysql_fetch_assoc($req)) {echo '<b><u>'.$data['DateFr'].' :</u></b>&nbsp;&nbsp;&nbsp;| <a href="#">Supprimer</a><br>'.$data['NewsJour'].'<hr>';} ?>
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
Modifié par MastercroW le 18/07/2011 à 18:11
En php c'est très simple pour supprimé une ligne.
C'est la fonction delete (supprimé en anglais).

$id =$_GET['id'];  
mysql_query("DELETE FROM Web_Nouvelles WHERE NewsJour= '$id' ");  

<?php while($data = mysql_fetch_assoc($req)) {echo '<b><u>'.$data['DateFr'].' :</u></b>&nbsp;&nbsp;&nbsp;| <a href="#?id='.$data['NewsJour'].'">Supprimer</a><br>'.$data['NewsJour'].'<hr>';} ?>
 
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
18 juil. 2011 à 18:10
Oui, mais dans le <a href=""></a> comment le lui dire ? >O<
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
Modifié par MastercroW le 18/07/2011 à 18:16
En 2 minutes, si cela est pour toi et je pense c'est le cas, tu peux faire un genre de ceci : (c'est un peu salle)
<?php 
if (empty($_GET['id'])) 
{ 
} 
else 
{ 
$id =$_GET['id'];   
mysql_query("DELETE FROM Web_Nouvelles WHERE NewsJour= '$id' ");  
} 
?> 
<?php while($data = mysql_fetch_assoc($req)) {echo '<b><u>'.$data['DateFr'].' :</u></b>   | <a href="#?id='.$data['NewsJour'].'">Supprimer</a><br>'.$data['NewsJour'].'<hr>';} ?> 


Le mieux c'est quand même de faire un bouton avec un post.
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
18 juil. 2011 à 18:27
Il ne supprime pas :s
excuse moi MastercroW mais je débute grave en php et c'est mon tout premier script. J'ai besoin de ton aide :/

Je te présente tout mon code :
<?php
include("conf.php"); include("fonctions.php"); include("verif.php");
$delai=0; 
$url='DernNews.php';

$db = mysql_connect('***', '***', '***');
mysql_select_db('***',$db);
$sql = 'SELECT DATE_FORMAT(DateJour, "%d-%m-%Y à %H:%i:%s") AS DateFr, NewsJour FROM Web_Nouvelles ORDER BY DateFr DESC';

mysql_query('SET NAMES utf8');
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

//Ajout dans la table si bouton "submit" est cliqué
if (isset($_POST['button'])){ $add=mysql_query("INSERT INTO Web_Nouvelles SET DateJour=now(), NewsJour='$NewsJour'"); header("Refresh: $delai;url=$url");}

//Supprimer un enregistrement dans la table avec <a href="">
if (empty($_GET['id'])) {$id =$_GET['id']; mysql_query("DELETE FROM Web_Nouvelles WHERE NewsJour= '$id' ");} 

mysql_close();
?>

<?php while($data = mysql_fetch_assoc($req)) {echo '<b><u>'.$data['DateFr'].' :</u></b>&nbsp;&nbsp;&nbsp;| <a href="#?id='.$data['NewsJour'].'">Supprimer</a><br>'.$data['NewsJour'].'<hr>';} ?>
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
18 juil. 2011 à 18:47
J'ai moi aussi débuté et grâce à ce forum j'ai avancé, donc je ferais un peu pareil !
Essai sans le : mysql_close();
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
18 juil. 2011 à 18:48
Et en mettant ceci :
if (empty($_GET['id'])) {$id =$_GET['id']; mysql_query("DELETE FROM Web_Nouvelles WHERE NewsJour= ".$id." ");} 
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
18 juil. 2011 à 18:53
Non toujours pas :s
Il ne fait rien !
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
18 juil. 2011 à 18:57
As-tu essayer la deuxième solution ?
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
18 juil. 2011 à 18:58
Oui :s j'essais encore pour voir si j'ai fais erreur mais non, il supprime pas, il me met juste dans le lien de la barre d'adresse lien?id=comment tu vas ?

if (empty($_GET['id'])) {$id =$_GET['id']; mysql_query("DELETE FROM Web_Nouvelles WHERE NewsJour= ".$id." ");}

avec et sans

mysql_close();
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
18 juil. 2011 à 19:00
Changeons les règles du jeux ! On va prendre un bouton
<?php
if(isset($_POST['envoie'])){
$delete = $_POST['delete'];
mysql_query("DELETE FROM Web_Nouvelles WHERE NewsJour= '".$delete."' ");
echo 'Succes message delete !';
}
?>
<form action="#" method="POST">

<select name="delete">
<option>Choisir la nouvelle à supprimer</option>
<?php $recherches=mysql_query('SELECT * FROM Web_Nouvelles ');while($applique=mysql_fetch_assoc($recherches)) {?><option name="name" ><?php echo $applique['NewsJour']; ?></option><?php }?>
</select>

<button type="submit" name="envoie">Continuer</button>

</form>
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
18 juil. 2011 à 19:11
La liste déroulante est vide, seul le mot "Choisir la nouvelle à supprimer" y est !
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
18 juil. 2011 à 19:14
Quelques erreurs connes que j'ai moi aussi effectués :
- Es-tu vraiment connecter à ta base de données ? (PHP)
- Es-tu vraiment en localhost ?
- Es-tu trompé dans les champs de ta base de données ?
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
18 juil. 2011 à 19:16
Essai ça si sa ne marche toujours pas :
<?php $recherches=mysql_query('SELECT * FROM Web_Nouvelles ');while($applique=mysql_fetch_assoc($recherches)) {?><option name="delete" ><?php echo $applique['NewsJour']; ?></option><?php }?>
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
18 juil. 2011 à 19:17
non, pareil.
Je suis bien connecté à ma base et j'arrive à enregistrer dans ma table...
Même avec celui-ci il n'y a rien dans la liste
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
19 juil. 2011 à 12:19
Bonjour MastercroW,

Voici le code au grand complet et je sollicite ton aide pour afficher les éléments de la table dans la liste déroulante. En effet, dans le <select> il y a la première ligne "Choisir la nouvelle à supprimer" qui lorsque je l'ajoute comme enregistrement dans ma table, se supprime lorsque je clique sur le bouton supprimer.
Mon problème est que les enregistrements de la table ne s'affichent pas dans ma liste déroulante.
Sinon ton code marche avec succès à l'exception de ce beug.
Peux tu m'aider encore une fois ?

<?php
$delai=0; 
$url='DernNews.php';

$db = mysql_connect('*****', '*****', '*****');
mysql_select_db('*****',$db);
$sql = 'SELECT DATE_FORMAT(DateJour, "%d-%m-%Y à %H:%i:%s") AS DateFr, NewsJour FROM Web_Nouvelles ORDER BY DateFr DESC';
//$sqld= 'SELECT DATE_FORMAT(DateJour, "%d-%m-%Y à %H:%i:%s") AS DateFr, NewsJour FROM Web_Nouvelles ORDER BY DateFr DESC';

mysql_query('SET NAMES utf8');
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

//Ajout dans la table si bouton "submit" est cliqué
if (isset($_POST['button'])) {$add=mysql_query("INSERT INTO Web_Nouvelles SET DateJour=now(), NewsJour='$NewsJour'"); header("Refresh: $delai;url=$url");}

//Supprimer dans la table si liste choisie et bouton cliqué
if(isset($_POST['envoie'])){$delete = $_POST['delete']; mysql_query("DELETE FROM Web_Nouvelles WHERE NewsJour= '".$delete."' "); header("Refresh: $delai;url=$url");}

mysql_close();
?>

<form id="form1" name="form1" method="post" action=""><table width="795" border="0" align="center" cellpadding="0" cellspacing="5">
      <tr>
        <td width="160" valign="top">Supprimer la nouvelle :</td>
        <td width="620">
<select name="delete" size="5" style="width:100%">
<option>Choisir la nouvelle à supprimer</option>
<?php $recherches=mysql_query('SELECT * FROM Web_Nouvelles ORDER BY DateJour DESC');while($applique=mysql_fetch_assoc($recherches)) {?>
<option name="name" ><?php echo $applique['NewsJour']; ?></option><?php }?>
</select>
        </td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="submit" name="envoie" id="envoie" value="Supprimer" /></td>
      </tr>
    </table>
    </form>

<?php while($data = mysql_fetch_assoc($req)) {echo '<span class="Description"><b><u>'.$data['DateFr'].' :</u></b></span><br>'.$data['NewsJour'].'<hr>';} ?>


Configuration: Windows 7 / Firefox 5.0
0