While Schleife mit SQL Funktion

SaschaW

Mitglied
Ist gerade nicht einfach zu erklären

In einer while Schleife hab ich eine SQL Statement der in meiner Datenbank Updates durch führen soll.

Nun habe ich mir eine Form gemacht wo ich 20 input Felder habe die ich Artist1, Artist2, .... genannt habe.

nun dachte ich mir ich könnte es als Anfänger vielleicht so machen:

Code:
$zahl = 1

while ($zahl < 20) {

.....  
.. Update tabelle SET Artist = '$Artist$zahl' ......
..
$zahl++

}

Ist ein Anfänger Fehler ich weiß aber ich weiß auch nicht weiter.
Hoffe das ist so verständlich
 
Hallo,
wenn dein Formular über POST versendet wird, dann könnte dein PHP Script so ausschauen.
PHP:
<?
  $zahl = 1;
  while ($zahl < 20) {
	$sql = "Update tabelle SET Artist = '".$_POST["Artist$zahl"]."'";
	$query = mysql_query($sql);
	$zahl++;
  }
?>

mfg
forsterm
 
PHP:
<?php

	for( $i = 1; $i <= 20; $i++ ) {
		if( !isset(${'Artist'.$i}) ) {
			continue;
		}
		$query = '
			UPDATE
			        `tabelle`
			  SET
			        `Artist` = "'.mysql_real_escape_string(${'Artist'.$i}).'"
			';
		mysql_query($query);
	}

?>
Übrigens solltest du noch eine Bedingung an die Datenbankabfrage knüpfen, da sonst alle Datensätze aktualisiert würden.
 
Gumbo hat gesagt.:
PHP:
<?php

	for( $i = 1; $i <= 20; $i++ ) {
		if( !isset(${'Artist'.$i}) ) {
			continue;
		}
		$query = '
			UPDATE
			        `tabelle`
			  SET
			        `Artist` = "'.mysql_real_escape_string(${'Artist'.$i}).'"
			';
		mysql_query($query);
	}

?>
Übrigens solltest du noch eine Bedingung an die Datenbankabfrage knüpfen, da sonst alle Datensätze aktualisiert würden.

Hi Danke das wars was ich brauchte aber wie mach ich das das er das bei 2 Variablen macht? Artist und Titel?
 
PHP:
<?php 

	for( $i = 1; $i <= 20; $i++ ) {
		if( !isset(${'Artist'.$i}) && !isset(${'Titel'.$i}) ) {
			continue;
		}
		$query = '
			UPDATE
			        `tabelle`
			  SET
			        `Artist` = "'.mysql_real_escape_string(${'Artist'.$i}).'"
			    AND `Titel`  = "'.mysql_real_escape_string(${'Titel'.$i}).'"
			';
		mysql_query($query);
	}

?>

So vielleicht?
 
Zurück