mysql und array

  • Themenstarter Themenstarter Skinnner
  • Beginndatum Beginndatum
S

Skinnner

hi,

ich hab keinen plan von mysql ;) und nur a bisl von php

also, ich hab ne tabelle mit a paar spalten und a paar datensätze
jetzt möcht ich pro array die daten von ner spalte habn

d.h. wenn ich jetzt ne spalte mit namen und ne andere spalte mit alter habe, dass die nur die namen in einem array sind und nur das alter in einem array ist

wäre das möglich?
 
Wenn du in dem Deutsch deine Aufsätze und Hausarbeiten verfasst, bist du wahrscheinlich versetzungsgefährdet. Durch deine Ausdrucksweise versteht niemand, was du meinst. Zudem wäre es nett, wenn du nicht so schreibst, wie du sprichst.
 
okay!

ich habe auf meinem mysqlserver ne tabelle angelegt mit mehreren spalten angelegt und 2 datensetze zum testen eingetragen.

in den spalten sind zb namen eingetragen (Manfred, Gundi, Herbert, ...)
jetzt möchte ich, dass zb diese namen in ein array eingetragen oder wie man dazu sagen werden ;)

ich möchte dann zb diese namen per schleife untereinander schreiben lassen.

so sieht meine schleife dann aus:

for($i=0; $i<=4; $i++)
{
echo $name[$i];
}

ich hoff ich habe mich nun klarer ausgedrückt ;)
 
omg ... du hast doch bei ner tabelle spalten richtig?

so da hast du eine spalte mit Namen, d.h. viele viele namen stehen untereinander

und genau diese namen möchte ich in einem array haben

besser?
 
Hi!

Lustiger Weise scheine ich wohl ein ähnliches Problem zu haben - soweit ich es verstanden habe :-)

Folgendes: Ich habe eine MySQL-Tabelle mit Werten, die ich per mysql_fetch_array und Whileschleife mit einem Zähler in eine Tabelle mit Formularen ausgebe (<input type="text" name="tour<? echo $i; ?>" size="20" value="<? echo $data[tour]; ?>">).
Nun soll jeder Wert separat geändert werden können und das ganze dann per UPDATE aktualisiert werden.

Dazu benutze ich folgenden Code, welcher natürlich nicht klappt:

PHP:
$u = 1;
		while($u<$i) { // $i wird per hidden übergeben, genau wie $edit
		$sql = "UPDATE preise SET tour='".$tour[$u]."', preis='".$preis[$u]."', datum='$datum' WHERE id='$edit".$u."'";     
		echo "$sql<br>";
		mysql_query($sql) or die(mysql_error());
		$u++;
		}
		echo "$u Daten erfolgreich geändert!";

Auch ohne eckige Klammern geht es nicht. (also z.B. $tour$u). Allerdings geht wohl auch $tour.$u nicht...

Wie geht es nun, dass die Schleife alle Werte mit der dazugehörigen ID in die SQL-Tabelle übernimmt?

Zum besseren Versändnis nochmal mehr Code:

Mein Formular:
PHP:
 <form method="POST" action="<? echo $PHP_SELF ?>">
 <table width="654">
  <?
  $sql = "SELECT * FROM preise"; 
		$result = mysql_query($sql,$db);  
		$i=1;
		while($data = mysql_fetch_array($result)) { ?>
			<tr>
      <td width="492" height="19">Tour</td>
      <td width="491" height="19">Preis</td>
      <td width="32" height="19">Datum</td>
    </tr>
    <tr>
	  <td width="492" height="1">
	  <input type="hidden" name="edit<? echo $i; ?>" value="<? echo $data[id]; ?>"> 
	  <input type="text" name="tour<? echo $i; ?>" size="20" value="<? echo $data[tour]; ?>"></td>
      <td width="491" height="1"><input type="text" name="preis<? echo $i ?>" size="4" value="<? echo $data[preis]; ?>">€</td>
      <td width="32" height="1"><? echo date("d.m.y",$data[datum]); ?></td>
    </tr>
		<?
		$i++;
		 } // while($data = mysql_fetch_array($result))
		 
  ?>
  <input type="hidden" name="i" value="<? echo $i ?>">
  </table>
  <p><input type="submit" value="Abschicken" name="change"><input type="reset" value="Zurücksetzen" name="B2"></p>
</form>

Und meine Anweisung für die Aktualisierung:
PHP:
$datum = time();
		$u = 1;
		while($u<$i) {
		$sql = "UPDATE preise SET tour='".$tour[$u]."', preis='".$preis[$u]."', datum='$datum' WHERE id='$edit".$u."'";     
		echo "$sql<br>";
		mysql_query($sql) or die(mysql_error());
		$u++;
		}
		echo "$u Daten erfolgreich geändert!";
 
Na da hast du dir ja richtig Mühe gegeben. Wie wäre es damit:
Okay!

Ich habe auf meinem Mysqlserver eine Tabelle mit mehreren Spalten angelegt und 2 Datensätze zum Testen eingetragen.

In den Spalten sind z.B. Namen eingetragen (Manfred, Gundi, Herbert, ...).
Jetzt möchte ich, dass z.B. diese Namen in ein Array eingetragen werden.

Ich möchte dann z.B. diese Namen per Schleife untereinander schreiben lassen.

So sieht meine Schleife dann aus:

PHP:
for($i=0; $i<=4; $i++)
{
echo $name[$i];
}

Ich hoffe ich habe mich nun klarer ausgedrückt.

Zur Antwort auf deine Frage: Benutze bitte die Suchfunktion des Boards. Das Auslesen von Datenbankinhalten und deren Darstellung in den unterschiedlichsten Varianten wurde hier bereits zur Genüge besprochen.
 
Skinnner hat gesagt.:
omg ... du hast doch bei ner tabelle spalten richtig?

so da hast du eine spalte mit Namen, d.h. viele viele namen stehen untereinander

und genau diese namen möchte ich in einem array haben

besser?

Das ist relativ einfach :-)

Nimmst du erstmal dies:
PHP:
 $sql = "SELECT * FROM namen";
        $result = mysql_query($sql,$db);  
        while($data = mysql_fetch_array($result)) { ?>

und dann gibst du die ganzen namen einfach aus mit echo $data[vorname] bzw. $data[nachname] (je nachdem, wie die Spalte heißt.)
 
supi dupi danke ;)

hmm ... weißt du Sven Petruschke warum sollte ich mir die mühe geben und meine umschalttaste zu benutzen? das ist zu viel arbeit ;)

aber so zur übung schreibe ich dir den post noch einmal mit groß und klein buchstaben :D

Super duper danke ;)

Hmm ... weißt du Sven Petruschke warum sollte ich mir die Mühe geben und meine Umschalttaste zu benutzen? Das ist zu viel Arbeit ;)

Aber so zur Übung schreibe ich dir den Post noch einmal mit Groß- und Kleinbuchstaben :D

break;

nochmals danke Rasenkantenstein ;)
 
Hmm ... weißt du Sven Petruschke warum sollte ich mir die Mühe geben und meine Umschalttaste zu benutzen? Das ist zu viel Arbei
Weil es in den Regeln steht, die du im Zuge der Anmeldung bei Tutorials.de als verbindlich anerkannt hast. Zudem erleichtert es uns die Arbeit, wenn die Beiträge leserlich und verständlich formuliert sind. Davon profitierst letztendlich auch du!
 
Zurück