webForumDet fria alternativet
Logga in / Bli medlem

Dubbel SQL-insert

PHP

1 svar · 505 visningar · startad av SoulGod

Medlem sedan aug. 20051 200 inlägg
Frågan#1

Upptäckte nu att jag har ett behov av en sak, som jag själv aldrig prövat.
Frågade en god vän, och man ska kunna göra det via array , men jag har inte en aning om hur...

Jag har följande kod för att lägga upp filmklipp + infoga informationen i databasen

if ($_GET['do'] == "upload") { 
	 $target_path = "film/filmdb/";
	 $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
	 if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {

		
		$datum = mysql_real_escape_string($_POST['datum']);
		$lank = $_FILES['uploadedfile']['name'];
		$text = mysql_real_escape_string($_POST['text']);
		$driver = mysql_real_escape_string($_POST['forare']);
		$laggTill = "INSERT INTO videos (datum, lank, text, driver) VALUES ('".$datum."','".$lank."','".$text."','".$driver."')";
		mysql_query($laggTill) or die("Det gick inte att lägga till information!");  
		header('Location: adm_film.php');
		} else{
    echo "There was an error uploading the file, please try again!";
}

Dock, jag ska göra om "driver" till checkboxes, så att flera förare kan markeras för samma filmklipp. Och om det då finns flera värden i $_POST['forare'],
så behöver jag göra en INSERT INTO "bla bla bla" driver=1 , och sen driver=2 o.s.v....

Hoppas ni förstår vad jag menar, för det är svårt att förklara.

Medlem sedan apr. 2001762 inlägg
#2

Jag har ett ungefär exempel som du kanske kan ta som idé hur du kan lösa det. Dock är detta med PDO, men principen fungerar ungefär samma.

		$sql = "DELETE FROM tabell WHERE";
		foreach($deletetheseid as $playerid) {
			$sql .= " id = ? OR";
			$delplayers .= $playerid.'::';
		}
		$sql = substr($sql, 0, -3); //Deletes last ::.
		$delplayers = substr($delplayers, 0, -2); //Deletes last ::.
		$delplayersoarray = explode("::", $delplayers);
		$deldupplayers = $db->prepare($sql);
		$deldupplayers->execute($delplayersoarray);

Dock i ditt exempel känns det som du ska göra en till tabell där du sparar relationen mellan "driver" och "videos", istället för att göra 10 kolumner med driver1, driver2, driver3... etc.
T.ex
id | videoid | driverid

395 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
128 ms — deklarationer (db)
128 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)