Aktualizacja wielu rekordów w MySQL

0

Po całym dniu batalii poddaje się, nie wiem jak zaaktualizować wiele rekordów w bazie danych na raz, poniżej kod którym wywołuję dane do edycji, ale jak je zapisać już nie mam pojęcia...
Już mnie głowa rozbolała z tego wszystkiego :(
Pomóżcie przyjaciele...

 
 //funkcja i łączenie z bazą
		
	

	echo '<form name="form1" method="post" action=""> 
	<table class="marze" border="0" cellpadding="0" cellspacing="0">';
	echo '<thead>';
	echo '<tr>';
	echo '<th>Zdjęcie</th>';
	echo '<th>ID</th>';
	echo '<th>Nazwa</th>';
	echo '<th>Waga</th>';
	echo '<th>Det A</th>';
	echo '<th>Det H</th>';
	echo '<th>Baza</th>';
	echo '</tr>';
	echo '</thead>';
	echo '<tbody>';

	if($polacz)
	{
	$res = mysqli_query($polacz, "SELECT * FROM oc_pc, oc_pc_description WHERE oc_pc.p_id = oc_pc_description.p_id ORDER BY oc_pc_description.p_id");
		
		while($prod = mysqli_fetch_object( $res ))  
			{
				echo '<tr>';
				echo '<td><img style="width:50px;" src="'.$prod->image.'"></td>';
				echo '<td>'.$prod->p_id.'</td>';
				echo '<td class="n">'.$prod->name.'</td>';
				echo '<td>'.$prod->weight.'</td>';
				echo '<td><input name="det['.$prod->p_id.']" value="'.$prod->det.'" maxlength="7" size="6" type="text"> %</td>';
				echo '<td><input name=deth['.$prod->p_id.']" value="'.$prod->det_h.'" maxlength="7" size="6" type="text"> %</td>';
				echo '<td style="white-space: nowrap;">'.$prod->wartosc.'</td>';
				echo '<td><input type="submit" name="Submit" value="OK"></form></td>';
				echo '</tr>';
			}

	echo '</tbody>';
	echo '</table>';
	echo' <input type="submit" name="Submit" value="Submit"></form>';	
		
		mysqli_close($polacz);
	}
	 else
	{
		$wynik = mysqli_connect_error();
	}

	return $wynik;
0

Przede wszystkim przesiadł bym się na PDO. Zrobiłem to ostatnio i nie żałuję. A następnie zmieniłbym zapytanie z SELECT na UPDATE :)
I użyłbym INNER||LEFT||RIGHT JOIN bo przy większej ilości rekordów serwer się zawiesi.

0

PDO Nie jest konieczne, mysqli wystarczy.
Dlaczego mam zmieniać SELECT na UPDATE?
SELECT służy jak widzisz do wywołania danych oraz połączenia dwóch tabel na podstawie id.

UPDATE nie jest w ogółe użyty ponieważ nie wiem jak go zapętlić aby mi zaaktualizowało wyniki po wciśnięciu submit.

0

Ok, rozumiem o co Ci chodzi, ale jednak SELECT to wyciąganie z bazy UPDATE to aktualizacja. Przy pomocy SELECT choćby "skały sr...ły" nie zrobisz UPDATE. A polecam PDO bo jest wygodniejsze i wkrótce wyprze całkowicie msqli.

No... Ale niech wypowie sie ktoś mądrzejszy ode mnie.

1

@Panicz74 zamiast pieprzyć bez sensu możesz pomóc. Pomóc możesz np. podając pytaczowi link do magicznej strony google.pl a jeszcze lepiej podając od razu co wpisać, np. php mysql update multiple rows i oto w pierwszym wyniku mamy dokładnie, krok po kroku, z przykładowym kodem, rozpisane co i jak

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.