Textarea dans bdd

alex -  
Autumn`Tears Messages postés 1247 Statut Membre -
Bonjour à tous !

Je suis débutant et j'ai un petit problème , je n'arrive pas à enregistré le contenu d'une textarea dans ma bdd...

j'ai crée une base de donnée appelé "uscs"
Dedans j'ai une table "classementa" avec deux champs : - id (INT, AI )
- classementseniorsa ( TEXT )

J'aimerais pouvoir enregistré le contenu de la textarea situé de adminclassements.php dans classements.php

Voici mes 2 pages

adminclassements.php :

------------------------------------------------------------------------------------------------------
<form method="post" action="classements.php">
<p> Classement des Seniors A </p>

<p> <textarea name="classementa" id="classementa" rows="20" cols="80"></textarea> <br />
<input type="submit" value="Valider" />
</p>
</form>

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("uscs");

if (isset($_POST['classementa']))
{
$classementa = ($_POST['classementa']);
$classementa = nl2br($classementa);

mysql_query("INSERT INTO classementa VALUES('', '" . $classementa . "')");
}
mysql_close();
?>
-------------------------------------------------------------------------------------------------------

classements.php
----------------------------------------------------------------------------------------------
<p> Classement seniors A

<?php

mysql_connect("localhost", "root", "");
mysql_select_db("uscs");

$reponse = mysql_query("SELECT * FROM classementa ORDER BY ID DESC LIMIT 0,1");

mysql_close();

while($donnees = mysql_fetch_array($reponse))
{
?>

<?php echo $donnees['classementa']; ?>

<?php
}
?>
</p>
-----------------------------------------------------------------------------------------------------

Pour l'heure je ne constate aucun enregistrement dans ma BDD...

Merci d'avance pour votre aide

Alex.
Configuration: Windows Vista Internet Explorer 7.0

32 réponses

  • 1
  • 2
Résumé de la discussion

Des débutants tentent d’enregistrer le contenu d’une textarea dans une base MySQL via PHP, en passant par des pages adminclassements.php et classement.php, mais aucun enregistrement n’apparaît en base. Les échanges mettent en évidence des erreurs comme des parse errors, des notices et des incohérences entre les noms de colonnes ('classementa' vs 'classementseniorsa') et les requêtes INSERT/SELECT. Plusieurs conseils promeuvent d’aligner les noms de colonne et les champs dans les requêtes, de fermer correctement les balises PHP, et éventuellement de reconstruire la table avec une clé auto-incrément. Cette approche évite les erreurs de nommage et facilite les requêtes SELECT pour afficher le dernier enregistrement inséré.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Essaie de mettre des or die(mysql_error()); pour voir si il y a des erreurs dans tes requêtes ou autre
    0
    1. alex
       
      tout d'abord merci de ton aide ( si rapide !! ) ... tu peux préciser où ?? je m excuse je suis vraiment débutant !!!
      0
  2. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Effectivement, excuse-moi !

    adminclassements.php :

    Modifie simplement cette ligne comme ceci :

    mysql_query("INSERT INTO classementa VALUES('', '" . $classementa . "')") or die("Erreur ".mysql_error());

    Autre question : Tu te sers de quoi comme serveur Apache / mysql ?
    0
    1. alex
       
      je me sers de mysql


      Malgré ce changement il n'y a tjrs rien d'enregistré sur la table ...

      Mais je n'ai aucun message d' erreur....
      0
  3. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Mais ta requête m'étonne un peu en fait, tu peux me donner la structure de la table stp ^
    0
  4. alex
     
    pas de souci :

    une base de donnée appelée "uscs"

    une table appelée "classementa"

    deux champs : - ip ( INT ; AI )
    - classementseniorsa ( TEXT )

    Jspr que cela te suffit....

    Alex
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Ok, essaie de refaire ta requête comme suit : mysql_query("INSERT INTO classementa VALUES('" . $classementa . "')");
    0
    1. alex
       
      tjrs rien .....


      ça m'énerve !!!!
      0
  7. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Sinon, essaie de recréer ta table comme ça :
    CREATE TABLE classementa(
    Ip INT(5) UNSIGNED NULL DEFAULT NULL AUTO_INCREMENT primary key,
    classementseniorsa (TEXT)
    )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
    0
  8. alex
     
    je peux pas la créer comme sa j'ai un message d'erreur...

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(TEXT) )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1' at line 3
    0
  9. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Ha oui, désolé, enlève les parenthèses autour de TEXT
    0
    1. alex
       
      j ai tjrs le meme message d'erreur !!!
      0
  10. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Quelque chose m'échappe, cela fonctionne chez moi :s
    0
  11. alex
     
    Jsuis confus ... sa a marché !! je test et jte redis
    0
  12. alex
     
    j'ai désormais ceci sur ma page classements.php :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\site\classements.php on line 46

    et tjrs rien d'enregistré dans la table...
    0
  13. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Ha, en fait ça doit venir du Script. Tu devrais faire une seconde page comportant la récupération de tes données et si tu veux faire réapparaître cette même page, tu fais un include('classements.html');
    (et non plus .php comme il n'y a plus de code PHP dans cette page).
    0
  14. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Non, attends
    0
  15. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Dans ta page adminclassements.php :

    Change <form method="post" action="classements.php"> par <form method="post" action="adminclassements.php">
    0
  16. alex
     
    je ne suis plus dirigé vers ma page classements.php il ne se passe rien j entre qqch dans ma textarea j appuie sur valider et le texte disaparait , tjrs rien dans la table et le meme message d'erreur dans classements.php
    0
  17. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Sinon, fais comme je t'ai dit, avec deux fichiers.
    0
  18. alex
     
    j 'ai pa compris l histoire des 3 fichiers .... tu peux me dire exactement ce ke je doi mettre dans classements.php, classements.html, adminclassements.php

    jtavoue que je suis un peu perdu la ....
    0
  19. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    adminclassements.html :

    ------------------------------------------------------------------------------------------------------
    <html>
    <body>
    <form method="post" action="adminclassements.php">
    <p> Classement des Seniors A </p>

    <p> <textarea name="classementa" id="classementa" rows="20" cols="80"></textarea> <br />
    <input type="submit" value="Valider" />
    </p>
    </form>
    </body>
    </html>

    adminclassements.php :

    ------------------------------------------------------------------------------------------------------
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("uscs");

    if (isset($_POST['classementa']))
    {
    $classementa = ($_POST['classementa']);
    $classementa = nl2br($classementa);

    mysql_query("INSERT INTO classementa VALUES('', '" . $classementa . "')");
    mysql_close();
    require('classements.php');
    }
    ?>

    classements.php
    ----------------------------------------------------------------------------------------------
    <p> Classement seniors A

    <?php

    mysql_connect("localhost", "root", "");
    mysql_select_db("uscs");

    $reponse = mysql_query("SELECT * FROM classementa ORDER BY ID DESC LIMIT 0,1");

    mysql_close();

    while($donnees = mysql_fetch_array($reponse))
    {
    ?>

    <?php echo $donnees['classementa']; ?>

    <?php
    }
    ?>
    </p>
    0
  20. alex
     
    j ai entré le texte dans classements.html puis j appuie sur valider et j obtien ceci sur la page adminclassements.php

    Classement seniors A
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\site\classements.php on line 12
    0
  21. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Essaie cette requête (du moins il me semble que l'ancienne ne corresponde pas par rapport à ta base)
    $reponse = mysql_query("SELECT * FROM classementa ORDER BY ID");
    0
  • 1
  • 2