In Array hin- und her blättern?

In Array hin- und her blättern?

am 15.12.2004 18:56:38 von Wolf Heyne

Hallo,
Für eine Telefonliste hab ich ein Formular, in dem ein Eintrag
editiert werden soll. Das editieren geht auch und das UPDATE in der
Datenbank, aber wenn zwei Mitarbeiter im Haus den gleichen Namen
haben, komme ich an den zweiten nicht ran!

Wenn ich mit:

if (isset($_POST['suchen'])) {
$suchstring = "$_POST[suchname]"."%";
$sql = "SELECT telefon.id, rang, name, beiname, titel, abteil,
dect, tel,
telefon_abt.abteilung, telefon_abt.nr
FROM telefon
LEFT JOIN telefon_abt ON telefon.abteil = telefon_abt.nr
WHERE name LIKE \"$suchstring\"";
$result = @mysql_query($sql);
$row = mysql_fetch_assoc($result);
$num_rows = mysql_num_rows($result);
etc...

die Datenbank abgefragt habe, erhalte ich doch, je nach Trefferzahl,
ein mehrzeiliges Array ($row) von dem auch die erste Zeile in dem
Formular dargestellt wird:

etc...

Titel:



Name:


etc...

Nun sollte es doch möglich sein, mit zwei Buttons vor und zurück zu
blättern und eine andere Zeile von $row in diesem Formular zum
editieren anzubieten. Nur leider komme ich da auf keine Lösung!
Vielleicht ist ja die Grundkonstuktion schon falsch.

Bin für jede Hilfe dankbar.
liebe Grüße, Wolf

Re: In Array hin- und her blättern?

am 15.12.2004 19:50:56 von do.not.REMOVETHAT

Wolf Heyne schrieb:

> Vielleicht ist ja die Grundkonstuktion schon falsch.

Ja.

Suchmaske -> Suchergebnis (Auswahl) -> Eingabe- & Änderungsformular

Mit Deiner Konzeption handelst Du Dir nur Ärger ein weil die
Nutzerführung nicht klar macht, wann was wie gespeichert wird oder
nicht. -> Aufwändig!

Grüße, Matthias

Re: In Array hin- und her blättern?

am 15.12.2004 21:17:25 von Wolf Heyne

On Wed, 15 Dec 2004 19:50:56 +0100, "Matthias P. Wuerfl"
wrote:

>Wolf Heyne schrieb:
>
>> Vielleicht ist ja die Grundkonstuktion schon falsch.
>
>Ja.
>
>Suchmaske -> Suchergebnis (Auswahl) -> Eingabe- & Änderungsformular
>
>Mit Deiner Konzeption handelst Du Dir nur Ärger ein weil die
>Nutzerführung nicht klar macht, wann was wie gespeichert wird oder
>nicht. -> Aufwändig!
>
>Grüße, Matthias

Nun, gespeichert wird, das was im Formular steht.

Solche Suchmasken hab ich schon gesehen, eine Zeile pro Ergebnis,
ankreuzen, bearbeiten. Man hüpft halt zwischen verschiedenen Seiten
hin und her. Klarer wäre es doch mit einem Formular in dem sich nur
die Inhalte ändern. Wenn der Inhalt passt -> Speichern.

Grüße, Wolf

Re: In Array hin- und her blättern?

am 15.12.2004 22:18:04 von Niels Braczek

Wolf Heyne schrieb:

> $sql = "...";
> $result = @mysql_query($sql);

Hier fehlt eine Fehlerbehandlung.

> $row = mysql_fetch_assoc($result);
> $num_rows = mysql_num_rows($result);
> etc...
>
> die Datenbank abgefragt habe, erhalte ich doch, je nach Trefferzahl,
> ein mehrzeiliges Array ($row)

Nein. Du erhältst *einen* Datensatz.
Wenn du alle Sätze in einem Array haben willst, muss du alle Sätze holen
und in einem Array speichern.

$rows = array();
while ($row = mysql_fetch_assoc($result)) {
$rows[] = $row;
}

Dann hast du ein zweidimensionales Array mit den Datensätzen. Statt
bspw. $row['titel'] verwendest du dann $rows[$i]['titel'], wobei $i die
Array-Zeile ist.

MfG
NIels

--
Wenn Word für Längeres geeignet wäre, würde es nicht
Word, sondern Sentence, Page oder Article heißen.
[Matthias Mühlich de.comp.text.tex]

Re: In Array hin- und her blättern?

am 16.12.2004 08:25:28 von do.not.REMOVETHAT

Wolf Heyne schrieb:

> Nun, gespeichert wird, das was im Formular steht.

Aber wann? Der Nutzer erwartet i.d.R. nicht, dass etwas gespeichert
wird, wenn man zwischen 2 Seiten hin- und herwechselt. Er erwartet aber
schon, dass Veränderungen noch da sind, wenn er zurück kommt.

Das meinte ich.

Grüße, Matthias

Re: In Array hin- und her blättern?

am 16.12.2004 18:49:12 von Wolf Heyne

On Wed, 15 Dec 2004 22:18:04 +0100, "Niels Braczek"
wrote:

>Wolf Heyne schrieb:
>
>> $sql = "...";
>> $result = @mysql_query($sql);
>
>Hier fehlt eine Fehlerbehandlung.
>
>> $row = mysql_fetch_assoc($result);
>> $num_rows = mysql_num_rows($result);
>> etc...
>>
>> die Datenbank abgefragt habe, erhalte ich doch, je nach Trefferzahl,
>> ein mehrzeiliges Array ($row)
>
>Nein. Du erhältst *einen* Datensatz.
>Wenn du alle Sätze in einem Array haben willst, muss du alle Sätze holen
>und in einem Array speichern.
>
>$rows = array();
>while ($row = mysql_fetch_assoc($result)) {
> $rows[] = $row;
>}
>
>Dann hast du ein zweidimensionales Array mit den Datensätzen. Statt
>bspw. $row['titel'] verwendest du dann $rows[$i]['titel'], wobei $i die
>Array-Zeile ist.
>
>MfG
>NIels

Oh Ja!

herzlichen Dank für die Hinweise, damit wird es wohl gehen.

Grüße,
Wolf