Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PHP] debutant (BDD)

    14 juin 2006 à 10:07:32

    Bonjour a vous, quand on met:
    mysql_query("DELETE message FROM forum WHERE 1");


    Ca veut bien dire que je demande d'effacer la "premiere" entrée dans le champs "message" de la table "forum"? Ou le "1" veut il dire autre chose?
    Je trouve pas cet exemple avec un chiffre apres WHERE dans les tutos de mateo, alors aidez moi s'il vous plait merci
    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2006 à 10:11:38

      tu supprime le champ message de la table forum lorsque 1.
      en gros ça veut dire ça !
      Donc ça veut rien dire :p
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2006 à 10:14:34

        Ben comment je fais si je veux effacer le premier message mis dans le champ que je veux? Je marque quoi comme requete? Merci d'avance
        • Partager sur Facebook
        • Partager sur Twitter
          14 juin 2006 à 10:21:49

          Tu as surement créer un champ nommé id ??
          et ben il suffit de supprimer le champ 1

          mysql_query("DELETE message FROM forum WHERE id='1'");

          Et ça devient
          supprime le champ message de la table forum lorsque id=1
          ;)
          • Partager sur Facebook
          • Partager sur Twitter
            14 juin 2006 à 10:23:55

            Mais par exemple effacer le plus petit ID, c'est possible?

            desolé d'être ennuyeux.
            • Partager sur Facebook
            • Partager sur Twitter
              14 juin 2006 à 10:28:44

              j'ai une solution à te proposé mais elle est pas courte
              1° tu fais une boucle de tous tes id dans un array
              2° tu utilise une fonction mathématique min() qui donne le id le plus petit de tous tes id
              et ensuite tu reconstruit ta requete sur la valeur minimal

              Cette solution est qd meme pas simple :-°
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                14 juin 2006 à 10:28:45

                Il existe une fonction min en SQL qui te retourne le plus petit.
                Pour la syntaxe exacte, voir la doc sur le site MySQL ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  14 juin 2006 à 10:35:59

                  Heu... sur hotmail par exemple, si on veut effacé un certain message, il suffit de cocher la case et d'aller sur "suppimer" comment il font pour effacer juste ce qu'ils veulent, il font une boucle pour savoir si oui ou non chaque cases a été cochée?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 juin 2006 à 10:44:00

                    non il utilise un id je pense!
                    Et il supprime le lien correspondant
                    Exemple
                    // Alors on supprime le lien correspondant
                        mysql_query('DELETE FROM liens WHERE id=' . $_GET['supprimer_liens']);

                    Supprime tous les champs de la table lien lorsque supprimer_lien=4
                    par exemple
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 juin 2006 à 11:01:43

                      Et mettant dans ma requete LIMIT x, x ca pourrait pas marcher?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        14 juin 2006 à 11:13:58

                        NON
                        limit te permet uniquement de donner le nombre d'entrée que tu veus soit lire soit écrire ;)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          14 juin 2006 à 11:18:44

                          DELETE FROM liens ORDER BY id LIMIT 01


                          D'un coup j'ai un doute là...

                          Ah bah nan c'est bon : http://dev.mysql.com/doc/refman/5.0/fr/delete.html
                          • Partager sur Facebook
                          • Partager sur Twitter
                            14 juin 2006 à 11:25:46

                            Dans la balise d'un checkbox peut on mettre une variable dans l'option value=" " ????
                            Du style

                            $nb = 0
                            <input type="checkbox" name="toto" value=$nb >???
                            pour ensuite faire une boucle et changer value en incrementation !!!

                            pour cré des checkbox avec differente "value"

                            Merci,,
                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 juin 2006 à 11:32:59

                              heureusement qu'on peut mettre une variable dans le value
                              Par contre je comprend pas pourquoi tu fais ça :
                              $nb = 0
                              • Partager sur Facebook
                              • Partager sur Twitter
                                14 juin 2006 à 11:38:44

                                hé bien pour pouvoir l'incrementer dans la boucle comme ca j'aurai differents value pour chaque checkbox comme suit:

                                for a=0 to a=5
                                <input type="checkbox" name="toto" value=a >
                                next

                                mai pas en basic ;) en php
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  14 juin 2006 à 11:43:29

                                  ??
                                  Je suis pas tous ce que tu veus faire
                                  une boucle en php c'est avec for ou while
                                  Exemple
                                  for ($i=0; $i >=100; $i++){
                                  }
                                  Se traduit par i commence à 0 et s'incrémente tant que i est supérieur ou égale à 10.

                                  Dis nous ce que tu veus faire :)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    14 juin 2006 à 12:07:02

                                    Hé bien comme ca:
                                    for ($i=0; $i >=100; $i++){

                                    <input type="checkbox" name="toto" value=i >

                                    }


                                    Alors, c'est possible?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      14 juin 2006 à 13:00:46

                                      je dirais plutot
                                      for ($i=0; $i >=100; $i++){

                                      <input type="checkbox" name="toto" value=$i >

                                      }

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        14 juin 2006 à 13:25:42

                                        Toujours les bons posts qu'on regarde pas !

                                        Citation : CrazyDiver

                                        Il existe une fonction min en SQL qui te retourne le plus petit.
                                        Pour la syntaxe exacte, voir la doc sur le site MySQL ;)


                                        mysql_query("DELETE FROM forum WHERE id=MIN(id)");


                                        Et pour tes checkbox
                                        <?php
                                        mysql_connect("**", "**", "**");
                                        mysql_select_db("**");
                                        if(isset($_POST['id']) && ctype_digit($_POST['id']))
                                            mysql_query("DELETE FROM forum WHERE id=".$_POST['id']) or die(mysql_error());
                                        ?>
                                        <form action="" method="post">
                                          <p>Supprimer le message à l'id :
                                            <ul><?php
                                        $retour = mysql_query("SELECT id FROM forum ORDER BY id ASC") or die(mysql_error());
                                        while($donnees = mysql_fetch_assoc($retour))
                                            echo '
                                        <li><input type="radio" name="id" value="', $donnees['id'], '" /></li>';
                                        mysql_close();
                                        ?>
                                            </ul>
                                          </p>
                                        </form>
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          15 juin 2006 à 8:42:01

                                          Heu... j'ai une question dans la requete DELETE FROM nom_table WHERE... on peut mettre après la clause WHERE par exemple "ligne 1" qui pourrait se traduire par "rows[0]" ou "rows[1]"? pour pouvoir effacer la ligne que l'on veut sans s'aider de l'id? Merci de vos réponses. ^^
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            15 juin 2006 à 8:48:17

                                            Citation : 6(sic)6

                                            DELETE FROM liens ORDER BY id LIMIT 01



                                            D'un coup j'ai un doute là...

                                            Ah bah nan c'est bon : http://dev.mysql.com/doc/refman/5.0/fr/delete.html



                                            j'ai pas compris, quesce que vous aller chercher la réponce est la ! (au dessus lol)

                                            Enfin plutot comme ca:


                                            DELETE message FROM forum ORDER BY id LIMIT 1


                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              15 juin 2006 à 8:54:51

                                              oui mais moi je veux pas faire par id, je veux le faire sans avoir besoin de l'id, je veux juste qu'il efface, la ligne que je veux. Parce que si j'efface grace a l'id pour le début ok, mais si je veux effacer la 5 eme ligne de ma table, il manquera un id, et donc je pourrai pas savoir.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                15 juin 2006 à 10:59:19

                                                Les résultats seront triés, c'est tout. Pour effacer la 5ème entrée il faudra faire comme ça :

                                                DELETE FROM liens ORDER BY id LIMIT 41


                                                Tu n'as donc pas besoin de connaître l'id.
                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                [PHP] debutant (BDD)

                                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                • Editeur
                                                • Markdown