Hi, ich will überprüfen ob ein Datensatz zu einem bestimmten Bild vorhanden ist. Das Bild wird eindeutig durch seine URL auf meinem Server identifiziet (denke ich zumindest :)) Hier mein Code:
$sql = mysql_query("SELECT id, beschreibung, p_name, p_filename, p_dir, p_src
FROM p_details
ORDER BY id DESC") OR die(mysql_error());
while($row = mysql_fetch_array($sql)){
if($row['p_src'] == $imgsrc){
echo "<h2>Beschreibung" . $row['p_name'] . "</h2>\n";
echo "<p>" . $row['beschreibung'] . "</p>\n";
echo "<br /><br />Bild gefunden \n<br />";
echo $row['p_src'];
break;
} else {
echo "\n<br /><br />\nBild muss hinzugefügt werden! <br />\n";
$sql2 = mysql_query("INSERT INTO p_details (p_filename, P_dir, p_src)
VALUES ('$filename', '$dir', '$imgsrc')") or die(mysql_error());
echo "<br /><br />\nBild wurde erfolgreich hinzugeügt! <br />\n";
}
}
Jetzt das Problem, auch wenn der Datensatz schon vorhanden ist, wird ein neuer hinzugefügt ?!
Du fragst ja nicht ab, ob der Datensatz existiert sondern nur ob $row['p_src'] == $imgsrc
Für die Überprüfung ob ein Datensatz existiert bietet sich COUNT an
$sql = mysql_query("SELECT COUNT(*) cnt FROM p_details WHERE p_src='$imgsrc'");
$data = mysql_fetch_assoc($sql);
if($data['cnt']>0) {
// vorhanden
} else {
// nicht vorhanden
}
Das prüft ob es einen Datensatz zu p_src=$imgsrc gibt. Hoffentlich war das die Fragestellung
jau ich denke schon
is mir auch aufgefallen, aber schon lang nix mehr mit mysql gemacht ^^
habs jetzt so selber gemacht, sollte auch gehn´, oder?
$sql = mysql_query("SELECT id, beschreibung, p_name, p_filename, p_dir, p_src
FROM p_details
WHERE p_src = '$imgsrc'") OR die(mysql_error());
if(mysql_num_rows($sql) != 0){
echo "<h2>Beschreibung" . $row['p_name'] . "</h2>\n";
echo "<p>" . $row['beschreibung'] . "</p>\n";
echo "<br /><br />Bild gefunden \n<br />";
echo $row['p_src'];
} else {
$sql2 = mysql_query("INSERT INTO p_details (p_filename, P_dir, p_src)
VALUES ('$filename', '$dir', '$imgsrc')") OR die(mysql_error());
}
Jo geht auch