IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Insert Values of <td> into database [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Points : 16
    Points
    16
    Par défaut Insert Values of <td> into database
    Bonjour a tous,
    j'ai un projet qui sert a un admin d'une database de inserer les notes d'une matiere qu'il precisera dans la page takenote.php, alors dans la deuxieme page note_insert.php, une table est generer avec tous les etudiants inscris dans cette matiere, et des columns pour les notes. Tous marche correctement mais lorsque je clique sur insert button, j'obtien les erreurs suivants:
    Notice: Undefined index: coname in
    Undefined index: note_11
    Undefined index: note_21
    ...
    Le code est le suivant:
    note_insert.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    <? 
    session_start();
    if(!session_is_registered(myusername)){
    header("location:index.html");
    }
    ?>
    <?php
     
    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="***"; // Database name 
    $tbl_name="***"; // Table name 
    // Connect to server and select database.
    //mysql_connect("$host", "$username", "$password")or die("cannot connect");
    $num_con = mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");
     
    // Get values from form
     
    //
    //echo "<pre>";
    //var_dump($_POST);
    //echo "</pre>";
    //exit;
    $i = $_POST['count'];
    $j = 1;
    while ( $j < $i )
    {
    $course_id=$_POST['coid'];
    $course=$_POST['coname'];
    //$student_id=$_POST['stid'.$j];
    $student_id=$_POST['stid'.$j];
    $exam1=$_POST['note_1'.$j];
    $exam2=$_POST['note_2'.$j];
    $quiz=$_POST['quiz'.$j];
    $att_note=$_POST['attendance_note'.$j];
    $final_note=$_POST['final_note'.$j];
    $p_f=$_POST['result'.$j];
    $year=$_POST['date'];
    $semester=$_POST['semester'];
    // Insert data into mysql 
    $sql="INSERT INTO $tbl_name (course_id, course, student_id, exam_1, exam_2, quiz, att_note, final_note, p_f, year, semester) VALUES($course_id, '$course', $student_id, $exam1, $exam2, $quiz, $att_note, $final_note, '$p_f', '$year', $semester)";
    //echo "<hr/>".$sql."<hr/>";
    //$result=mysql_query($sql);
    $result=mysql_query($sql,$num_con);
    echo 'la requete '.$sql.'<br>';
    if (!$result) {
        die('Requête invalide : ' . mysql_error());
    }
     
    $j ++ ; }
     
    // if successfully insert data into database, displays message "Successful". 
    if($result){
    	echo "Ok";
    header("location:done.php");}
    else {
    	echo "Not Ok";
    header("location:false.php");
    }
     
    // close connection 
    mysql_close();
    ?>
    takenote.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    <? 
    session_start();
    if(!session_is_registered(myusername)){
    header("location:index.html");
    }
    ?>
    <html>
    <head>
    <title>Admin - Note</title>
    <link rel="stylesheet" href="../files/css.css" type="text/css" />
    </head>
    <body>
      <div id="header"></div>
      <BR/>
        <BR/>
        <BR/>
        <BR/>
    	<?php
     
    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="***"; // Database name 
    $tbl_name="***"; // Table name 1
     
    // Connect to server and select database.
    mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
     
    $coname=$_POST['coname'];
     
    // Retrieve data from database 
    $sql="SELECT * FROM student, student_course WHERE student_course.course_id=$coname AND student.id=student_course.student_id";
    $result=mysql_query($sql);
     
     
    $sql_2="SELECT * FROM student_course, course WHERE student_course.course_id=course.id AND course.id=$coname";
    $result_2=mysql_query($sql_2);
     
    ?>
    <form name="form" method="POST" action="note_insert.php">
     
     
    <input type="hidden" name="coid" id="coid" value="<?php echo $coname; ?>">
    	<table width="398" border="0" align="center" cellpadding="0" cellspacing="1">
    <tr>
     
     
     
    <td><CENTER>
    <table  border="2" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
    <tr>
    <td><center>Course ID</td></center>
    <td><center>Course</td></center>
    <td><center>Student ID</td></center>
    <td><center>Student</td></center>
    <td><center>Exam 1</td></center>
    <td><center>Exam 2</td></center>
    <td><center>Quiz/Projects</td></center>
    <td><center>Attendance Note</td></center>
    <td><center>Final Note</td></center>
    <td width="85%"><center>P/F</center></td>
    <?php // Start looping rows in mysql database.
    $i = 1;
    $j=1;
    while($rows=mysql_fetch_array($result)){
    	$rows_2=mysql_fetch_array($result_2);
     
    ?>
     
    <tr>
    <td width="50%"><center><?php echo $rows['course_id']; ?><input type="hidden" name="coid<?php echo $i ?>" id="stid<?php echo $i ?>" value="<?php echo $rows['course_id']; ?>"></center></td>
    <td><center><?php echo ($rows_2['name']) ; ?><input type="hidden" name="coname<?php echo $i ?>" id="coname<?php echo $i ?>" value="<?php echo $rows['course_id']; ?>"></center></td>
    <td width="50%"><center><?php echo $rows['student_id']; ?><input type="hidden" name="stid<?php echo $i ?>" id="stid<?php echo $i ?>" value="<?php echo $rows['student_id']; ?>"></center></td>
    <td width="50%"><center><?php echo $rows['name']; ?><input type="hidden" name="stid<?php echo $i ?>" id="stid<?php echo $i ?>" value="<?php echo $rows['student_id']; ?>"></center></td>
    <td width="50%"><center><input type="text" id="note_1"/></center></td>
    <td width="30%"><center><input type="text" id="note_2"/></center></td>
    <td width="30%"><center><input type="text" id="quiz"/></center></td>
    <td width="30%"><center><input type="text" id="attendance_note"/></center></td>
    <td width="30%"><center><input type="text" id="final_note"/></center></td>
    <td width="90%"><center><select name="result<?php echo $i ?>" id="result<?php echo $i ?>">
    <option value = "1" >P</option>
    <option value = "0" >F</option>
    </td></tr></select></center>
    <?php $i++; } ?>
    <input type="hidden" name="count" id="count" value="<?php echo $i ?>">
    <?// close while loop 
     
    // close connection 
    mysql_close();
    ?></td>
    </tr>
    </table>
    </BR>
    <p>
    <table>
    <tr><td>Year :<FONT COLOR="red" SIZE="1"> (Or YYYY-MM-DD Date) </FONT></td>
      <td><input name="date" type="text" id="date"></td></tr>
    </p>
    <p><tr><td>Semester:</td>     
      <td><input name="semester" type="text" id="semester"></td>
      </tr>  
      <tr><td></td>
      <td><input type="submit" name="Submit" value="Add"></td>
      </tr>
    </p>
    </table>
    </CENTER>
    </form>
    </table>
    <div id="footer"></div>
    </body>
    </html>

  2. #2
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Tu peux déjà essayer de mettre un pour vérifier que les indexes que tu veux lire existent bien à l'appel de la page.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Ou je la mis precisement et dans quelle page ? Merci.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Dans note_insert.php avant le while.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    print_r($_POST);
     
    // Get values from form
     
    //
    //echo "<pre>";
    //var_dump($_POST);
    //echo "</pre>";
    //exit;
    $i = $_POST['count'];
    $j = 1;
    while ( $j < $i )

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Le resultat est:
    Array ( [coid] => 2 [coid1] => 2 [coname1] => 2 [stid1] => 4 [result1] => 1 [count] => 2 [date] => 2014-04-17 [semester] => 2 [Submit] => Add ) 1
    Alors il y'a des valeurs qui n'existe pas.
    Pouvez-vous m'aider ?
    Merci.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td width="50%"><center><input type="text" id="note_1"/></center></td>
    <td width="30%"><center><input type="text" id="note_2"/></center></td>

    je dirais que tu n'incrémentes pas note_1 et note_2 dans takenote.php.

    ca devrait être un truc du genre (à la louche je me suis pas penchée plus que cela sur la logique de ton code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td width="50%"><center><input type="text" id="note_1<?=$i?>"/></center></td>
    <td width="30%"><center><input type="text" id="note_2<?=$i?>"/></center></td>
    Défini bien toutes tes valeurs dans le formulaire avant.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Ca marche pas encore, exam1 et autre sont de type float. Est ce-qu'il ya un probleme a cause leurs type ?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise des tableaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="coid[<?php echo $i ?>]" id="stid_<?php echo $i ?>" value="<?php echo $rows['course_id']; ?>">
    et à la reception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($_POST['coid'] as $i=>$value) {
        echo '<p>' . $i . ' : ' . $value . '</p>';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Pouvez-vous le corriger dans mon code initial, je suis nouveau avec php. Merci pour votre reponse.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    La solution est qu'il faut ajouter "name=..." a chaque <td>:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><center><input type="text" name="note_2<?php echo $i ?>" id="note_2<?php echo $i ?>"/></center></td>
    .
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. insert into database Ms access from datagridview
    Par mark. dans le forum Accès aux données
    Réponses: 0
    Dernier message: 18/06/2014, 16h24
  2. ASE : insert values into image, unitext and varbinary
    Par dnboa dans le forum Adaptive Server Enterprise
    Réponses: 0
    Dernier message: 16/07/2013, 11h33
  3. [ODI (ETL)]Developping a plug-in or insert into database ?
    Par Manu300886 dans le forum Qualimétrie
    Réponses: 0
    Dernier message: 21/02/2012, 14h19
  4. insert data into database from selectManyListbox
    Par w_fatima dans le forum NetBeans
    Réponses: 0
    Dernier message: 04/07/2011, 18h32
  5. "Insert into" database Oracle
    Par Sabine25 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 21/08/2007, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo