2016-04-22 36 views
2

Ich habe eine Datenbanktabelle, die ich aus einer .csv-Datei erstellt habe. Ich habe PHP verwendet, um den Inhalt so zu bearbeiten, dass er mit einer neuen Tabelle in meiner Datenbank übereinstimmt. Ich muss nun diese neue Tabelle in die neue Datenbank einfügen. Ich habe Formular-Tags um den Tisch herum und einen Submit-Button hinzugefügt, und wenn ich es einsende, bekomme ich nur 1 oder 2 zufällige Reihen der Tabelle. Ich vermute, dass ich eine Weile oder eine For-Schleife brauchen könnte, aber ich kann nicht herausfinden, wie man es schreibt. Jede Hilfe wäre willkommen.PHP Tabelle in Datenbank einfügen

Dies ist der Code auf den db

if(isset($_POST['submit'])){ 

$mr = $_POST['mr']; 
$mrs = $_POST['mrs']; 
$last_name = $_POST['last_name']; 
$marital_status = $_POST['marital_status']; 


$query = "INSERT INTO import_template(first_name, last_name, marital_status) VALUES('{$mr}', '{$last_name}', '{$marital_status}')"; 

$result = mysqli_query($connection, $query); 

if(!$result){ 
    die("QUERY FAILED " . mysqli_error($connection)); 
} 
if(!$connection){ 
echo "We are NOT connected"; 
} 

$query = "INSERT INTO import_template(first_name, last_name, marital_status) VALUES('{$mrs}', '{$last_name}', '{$marital_status}')"; 

$result = mysqli_query($connection, $query); 

    if(!$result){ 
    die("QUERY FAILED " . mysqli_error($connection)); 
} 
if(!$connection){ 
echo "We are NOT connected"; 
} 
} 

posten Dies ist, was die dynamische Tabelle sieht aus wie ich nur die Eingabe in den ersten paar zu testen hinzugefügt, ich habe den Rest noch nicht getan.

echo "<tr>"; 
echo "<td><input type='text' class='form-control' name='mr' value='$mr'></td>"; 
echo "<td><input type='text' class='form-control' name='last_name' value='$last_name'></td>"; 
echo "<td><input type='text' class='form-control' name='marital_status' value='$marital_status'></td>"; 
echo "<td>{$birthday}</td>"; 
echo "<td>Adult</td>"; 
echo "<td>{$anniversary}</td>"; 
echo "<td>{$mr_cell_phone}</td>"; 
echo "<td>{$home_phone}</td>"; 
echo "<td>{$mr_email}</td>"; 
echo "<td>{$street}</td>"; 
echo "<td>{$city}</td>"; 
echo "<td>{$state}</td>"; 
echo "<td>{$zip}</td>"; 
echo "<td></td>"; 
echo "</tr>"; 
echo "<tr>"; 
echo "<td><input type='text' class='form-control' name='mrs' value='$mrs'></td>"; 
echo "<td><input type='text' class='form-control' name='last_name' value='$last_name'></td>"; 
echo "<td><input type='text' class='form-control' name='marital_status' value='$marital_status'></td>"; 
echo "<td></td>"; 
echo "<td>Adult</td>"; 
echo "<td>{$anniversary}</td>"; 
echo "<td>{$mrs_cell_phone}</td>"; 
echo "<td></td>"; 
echo "<td>{$mrs_email}</td>"; 
echo "<td></td>"; 
echo "<td></td>"; 
echo "<td></td>"; 
echo "<td></td>"; 
echo "<td></td>"; 
echo "</tr>"; 
+0

was hast du es schon probiert? –

+0

Ich habe eine normale $ Abfrage INSERT gemacht. Meine Tabelle ist dynamisch und besteht aus etwa 500 Zeilen mit etwa 10 Spalten, jede Zeile hat denselben Namen (name = 'Beispiel'). Wenn ich den Einfügevorgang ausführe, erhalte ich nur 1 oder 2 zufällige Zeilen. Ich habe keine Ahnung, wie man eine Schleife schreibt, um dies zu tun, ich arbeite an dem Versuch, die Zeilen zu zählen und dann in einer for oder while-Schleife zu verwenden – JonW

+0

Können Sie Ihre Frage mit versuchtem Skript aktualisieren? –

Antwort

0

Sie können so tun. Ich habe drei Bereichen wie Aufgabe, Mittel genommen und note.You kann wie pro Ihre Tabellenzeilen hinzufügen:

main.php

<form id="first" action="insert_values.php" method="post"> 


<table> 
<tr> 
<td>Task</td> 
<td> 
    <input type="text" name="task"> 
    </td> 
    </tr> 

    <tr> 
    <td>Agent</td> 
    <td> 
    <input type="text" name="agent"> 
    </td> 
    </tr> 
    <tr> 
    <td>Note</td> 
    <td><input type="text" name="Note"></td> 
    </tr> 

    </table> 
    <input type="submit" value="save" name="save"> 
    </form> 

insert_values.php

<?php 
error_reporting(error_reporting() & ~E_NOTICE); 
session_start(); 
include 'connect.php'; 


$task=$_POST['task']; 
    $agent=$_POST['agent']; 


    $Note=$_POST['Note']; 




$result=mysql_query("insert into table_name(task,agent,t_note) values('$task','$agent','$Note')"); 



if($result) 
{ 
$msg="Insert Successfully!!"; 
echo "<script>alert('Insert Successfully');document.location='main.php'</script>"; 
?> 

<?php 
} 
else 
{ 

$errmsg=" Insert not success!!"; 
     echo "<script>alert('Insert Not Successfully');document.location='main.php'</script>"; 

} 

?> 
+0

Das ist was ich habe, wie würdest du das machen, wenn diese Tischreihe multipliziert würde? Also ist der Name = '', den jedes Feld benutzt, in jeder Reihe. Wie würde ich alle Zeilen durchlaufen, da sie alle die gleichen Namen haben, nur unterschiedliche Werte? – JonW

+0

Ich habe nicht verstanden, was Sie sagen wollen ... Sie möchten die Details in die DB einfügen oder Sie möchten die Daten im Browser anzeigen? –

+0

Ich möchte die Daten in meine Datenbank einfügen. Meine Tabelle ist dynamisch und enthält Daten aus einer anderen db-Tabelle. – JonW