Partage
  • Partager sur Facebook
  • Partager sur Twitter

Poster dans la base de donnée

Sujet résolu
    19 août 2006 à 21:02:32

    Bonjour,
    J'ai fait à l'aide du TP sur les news un système permettant cette fois de poster des résultats.

    J'ai plusieurs champs :
    domicile : pour l'équipe qui joue à domicile
    exterieur : pour l'équipe qui joue à l'éxterieur
    scoredom : le score de l'équipe jouant à domicile
    scoreext : le score de l'équipe jouant à l'éxtérieur
    jour : le jour du match
    mois : le mois du match
    annee : l'année du match
    (j'ai pas mis de timestamp ici parceque les résultats ne sont pas forcement postés le même jour des matchs)
    timestamp : la date du post

    J'ai rentré quelques résultats diretement dans la base de donnée via myphpadmi.
    La page avec la liste des résultats avec modifier, supprimer et rajouter marche impec, on peut modifier, ça s'affiche bien, on peut virer, et rajouter.
    Le page pour rajoutée aussi tout est bien, les zones de textes et tout, on peut entrer des données et envoyer ça marche.

    Mais... (ça devient interessant ^^ ) ...lorsque je poste avec cetet page ça me met les champs n'importe comment dans la base de donnée, juste le "domicile" est juste, sinon l'année se met à la place de "exterieur" et le reste tout des 0.

    Voilà le code de ma page (j'ai séparé le code html au milieu du php pour le couleur soit bonne :) ), je vois vraiment rien qui cloche tout est à sa place, les variables correspondent bien, donc il n'y a pas de raison qu'il m'enregistre les champs n'impore où. :(

    <?php
    mysql_connect("localhost", "ttsjb", "****");
    mysql_select_db("ttsjb_bb1");

    if (isset($_GET['modifier_resultatslatt'])) // Si on demande de modifier
    {
        // On récupère les infos de l'ancien résultat
        $retour = mysql_query('SELECT * FROM resultatslatt WHERE id=' . $_GET['modifier_resultatslatt']);
        $donnees = mysql_fetch_array($retour);


        $domicile = $donnees['domicile'];
        $exterieur = $donnees['exterieur'];
        $scoredom = $donnees['scoredom'];
        $scoreext = $donnees['scoreext'];
        $jour = $donnees['jour'];
        $mois = $donnees['mois'];
        $annee = $donnees['annee'];
        $id_resultatslatt = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // Si c'est un nouveau
    {

        $domicile = '';
        $exterieur = '';
        $scoredom = '';
        $scoreext = '';
        $jour = '';
        $mois = '';
        $annee = '';
        $id_resultatslatt = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    ?>


    <form action="liste_resultatslatt.php" method="post">
    <p>Equipe à domicile : <input type="text" size="30" name="domicile" value="<?php $domicile; ?>" /></p>
    <p>Equipe à l'extérieur : <input type="text" size="30" name="exterieur" value="<?php $exterieur; ?>
    " /></p>
    <p>Score Equipe domicile : <input type="text" size="10" name="scoredom" value="<?php $scoredom; ?>" /> </p>
    <p>Score Equipe exterieur :<input type="text" size="10" name="scoreext" value="<?php $scoreext; ?>
    " /></p>
    <p>Date du match(jour/mois/année) <input type="text" size="10" name="jour" value="<?php $jour; ?>" />/<input type="text" size="10" name="mois" value="<?php $mois; ?>" />/<input type="text" size="10" name="annee" value="<?php $annee; ?>" /></p>

    <p>
     <br />

        <input type="hidden" name="id_resultatslatt" value="<?php echo $id_resultatslatt; ?>
    " />
        <input type="submit" value="Envoyer" />
    </p>
    </form>


      <?php mysql_close(); // Déconnexion de MySQL
    ?>
    • Partager sur Facebook
    • Partager sur Twitter
      19 août 2006 à 21:10:19

      Salut,
      Désolé, je me trompre peut être, mais je ne vois pas la requete mysql permetant d'inserer les nouvo resultat, ou de les modifié... sa searit bien de pouvoir la voir...
      • Partager sur Facebook
      • Partager sur Twitter
        19 août 2006 à 21:52:43

        Désoler, voilà la première page où il y a le liste avec les boutons modifier, supprimer ou créer.

        <?php
        mysql_connect("localhost", "ttsjb", "****");
        mysql_select_db("ttsjb_bb1");

        //-----------------------------------------------------
        // Poster un résultat
        //-----------------------------------------------------

        if (isset($_POST['domicile']) AND isset($_POST['exterieur']) AND isset($_POST['scoredom']) AND isset($_POST['scoreext']) AND isset($_POST['jour']) AND isset($_POST['mois']) AND isset($_POST['annee']))
        {
            $domicile = addslashes($_POST['domicile']);
            $exterieur = addslashes($_POST['exterieur']);
            $scoredom = addslashes($_POST['scoredom']);
            $scoreext = addslashes($_POST['scoreext']);
            $jour = addslashes($_POST['jour']);
            $mois = addslashes($_POST['mois']);
            $annee = addslashes($_POST['annee']);
            // On vérifie si c'est une modification de résultat ou pas
            if ($_POST['id_resultatslatt'] == 0)
            {
                // Ce n'est pas une modification, on crée une nouvelle entrée dans la table

        mysql_query("INSERT INTO resultatslatt VALUES('', '" . $domicile . "', '" . $exterieur . "', '" . $scoredom . "', '" . $scoreext . "', '" . $jour . "', '" . $mois . "', '" . $annee . "', '" . time() . "')");
            }
            else
            {
                // C'est une modification, on met à jour les données
        mysql_query("UPDATE resultatslatt SET domicile='" . $domicile . "', exterieur='" . $exterieur . "', scoredom='" . $scoredom . "', scoreext='" . $scoreext . "', jour='" . $jour . "', mois='" . $mois . "', annee='" . $annee . "' WHERE id=" . $_POST['id_resultatslatt']);
            }
        }


        //--------------------------------------------------------
        // Si on supprime
        //--------------------------------------------------------

        if (isset($_GET['supprimer_resultatslatt'])) // Si on demande de supprimer un résultat
        {
            // Alors on supprime le résultat correspondant

        mysql_query('DELETE FROM resultatslatt WHERE id=' . $_GET['supprimer_resultatslatt']);
        }
        ?>

        <table><tr>
        <th>Modifier</th>
        <th>Supprimer</th>
        <th>Equipes et score</th>
        <th>Date du match</th>
        <th>Date d'écriture</th>
        </tr>


        <?php
        $retour = mysql_query('
        SELECT * FROM resultatslatt ORDER BY id DESC');
        while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats{
        ?>
                 

        <tr>
        <td><?php echo '<a href="rediger_resultatslatt.php?modifier_resultatslatt=' . $donnees['id'] . '">'; ?>Modifier</a></td>
        <td><?php echo '<a href="liste_resultatslatt.php?supprimer_resultatslatt=' . $donnees['id'] . '">
        '; ?>Supprimer</a></td>
        <td><?php echo stripslashes($donnees['domicile']); ?> 
        <?php echo stripslashes($donnees['scoredom']); ?>
        <?php echo stripslashes($donnees['scoreext']); ?> 
        <?php echo stripslashes($donnees['exterieur']); ?></td>
        <td><?php echo stripslashes ($donnees['jour']); ?>/
        <?php echo stripslashes ($donnees['mois']); ?>/
        <?php echo stripslashes ($donnees['annee']); ?></td>
        <td><?php echo date ('d/m/Y', $donnees['timestamp']); ?></td>
        </tr>

        <?php
        } // Fin de la boucle qui liste les résultats
        ?>


        C'est ça dont tu as besoin ? ^^
        • Partager sur Facebook
        • Partager sur Twitter
          20 août 2006 à 10:36:13

          Personne peut m'aider s'il vous plaît, les zones de textes correspondent bien aux bonnes variables alors comment se fait-il que ça poste n'importe où dans le base de donnée ?

          Merci


          Edit : j'ai tout recommencer, le code me semble exactement le même qu'avant mais cette fois si ça marche o_O mais bon c'est l'essentiel, merci quand même !
          • Partager sur Facebook
          • Partager sur Twitter

          Poster dans la base de donnée

          × 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