Ich muss 2 verschiedene Spalten in einer Tabelle vergleichen: tbl_Try (Land, Name). wenn es 2 Kolumnen mit dem gleichen Wert gibt, nichts tun. Wenn es nicht die gleichen Werte dieser 2 Spalten gibt, fügen Sie die gleichen ein. Vergleichen Sie mehrere Spalten in MySql
dies ist die Verbindung zur Datenbank:
<?php
require_once("menu.php");
require_once("function.php");
?>
Hier ist der Hauptcode (lesen Sie die Kommentare zu versuchen zu verstehen)
<?php
$conn = ConnectToSql();
$query= "Select * FROM tbl_countries";
$result = mysqli_query($conn, $query)
or die("Error in query: ". mysqli_error($conn));
$choose = '';
while ($row = mysqli_fetch_assoc($result))
{
$choose .= '<option value = "'.$row['name'].'">'.$row['name'].'</option>';
}
?>
<div class="form-group">
<label class="control-label col-sm-2" for="Country">Choose a country:</label>
<div class="col-sm-5">
<select class="form-control" name ="reg_country" >
<option></option>
<?php echo $choose;?></select>
</div>
</div>
<br>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-10">
<button type="submit" name="submit" class="btn btn-default">Submit</button>
</div>
</div>
<?php
if(isset($_POST['submit']))
{
$country = $_POST['reg_country'];
$_SESSION['country'] = $country;
$query2 = "SELECT name,id FROM tbl_flowertypes ";
$result2 = mysqli_query($conn, $query2) or die("Error in query: ". mysqli_error($conn));
$result2_rows = mysqli_num_rows($result2);
//this code is not working. Need to count the 2 columns (name AND country)
// if in tbl_try there is already country:italy name:12 red roses. DO NOTHING if there is no data the same
// insert data
$query3 = "SELECT count(*) FROM tbl_try WHERE name='$_SESSION[flower_type_name]' AND country ='$_SESSION[country]' ";
$result3 = mysqli_query($conn, $query3) or die("Error in query: ". mysqli_error($conn));
$result3_rows = mysqli_num_rows($result3);
// loop counting how many record are in table flowertype and loop to insert data in tbl_try (this code is working fine)
for($i = 1; $i <= $result2_rows;$i++)
{
while($row = mysqli_fetch_assoc($result2))
{
$_SESSION['flower_type_name'] = $row['name'];
// this is the insertion of the data
$inserting = "INSERT INTO tbl_try(name,country) VALUES ('$row[name]','$_SESSION[country]')";
$result3 = mysqli_query($conn, $inserting) or die("Error in query: ". mysqli_error($conn));
}
}
}
das Ergebnis sein müssen:
muss die Datenbank einmal einfügen. NUR, WENN ES KEINE GLEICHEN SPALTEN IN DER TABELLE GIBT. WENN ES DIE GLEICHEN DATEN IST, TUN SIE NICHTS.
Ich muss diesen Code durch eine Tabelle mit einigen Aufzeichnungen vervollständigen, aber ich weiß, wie das geht.
Irgendwelche Vorschläge?
Warum fügen Sie nicht einfach einen eindeutigen Index für diese beiden Spalten hinzu? – Paul