Buttonname durch Abfrageergebnis deklarieren
Jan
- php
hallo,
wir haben folgendes problem, an dem wir jetzt schon ne ewigkeit sitzen.
ich versuchs mal zu erklären.
wir haben über SQL-abfragen eine ergebnismenge erhalten, die auch
zeilenweise ausgegeben wird.
(lasst euch an den ganzen td und tr nicht stören - es ging bis jetzt nur um die funktionalität - nicht um optik)
in der variable $feld_ergebnis1 werden also der name und die fläche ausgegeben von einer bestimmten bedingung (ABC.)
diese 3 werten werden hintereinander geschrieben in eine zeile.
ab der syntax $abfrage_nr.... entsteht unser problem.
es folgt eine zweite abfrage, aber diesmal wird eine nummer abgefragt; aber zu den GLEICHEN bedingungen wie oben, damit die anzahl der datensätze mit der anzahl der button übereinstimmt.
es soll praktisch hinter den 3 werten pro zeile immer ein button erstellt werden.
hab ich also als ergebnis 10 datensätze, so wird 10x (1x pro zeile) ein button hinten angefügt. (also für jeden datensatz einen button)
ziel ist es, das ergebnis der zweiten abfrage, was eine eineindeutige nummer ausgibt ($feld_ergebnis2), dies wirkl nur einmal gibt, gleichzeitig als namen für den button zu deklarieren (name='$feld_ergebnis2').
hab ich also 10 datensätze, so hab ich auch 10 button und jeder button erhält praktisch einen anderen namen, da die eineindeutige nummer ja immer anders ist.
wenn ich also den button klicke und dadurch auf ne andre seite komme, soll die variable $feld_ergebnis2 mit auf die andre seite übernommen werden und dort mit echo "$feld_ergebnis2" wieder ausgegeben werden, da ich auf andern seiten damit weiter arbeiten muss.
kurz: der name des buttons ($feld_ergebnis2) soll durch ein abfrageergebnis vergebn werden. dieses eregbnis ist eineindeutig.
<form method="post" action="test_2.php">
<?php
require ("pruefroutine.php");
?>
<?php
$ergebnis1 = mysql_query("SELECT A2_NAME,A4_FLAE FROM haupt WHERE B1_NAME = 'ABC'");
while ($treffer1 = mysql_fetch_row($ergebnis1))
{
echo "<table border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>\n";
echo "<td width='10'>";
echo "</td>";
echo "</tr>";
echo "<tr><td height='10' bgcolor='#ff9900' colspan='6'>;
foreach ($treffer1 as $feld_ergebnis1)
if ($feld_ergebnis1 !="")
echo "$feld_ergebnis1";
}
$abfrage_nr = mysql_query("SELECT A1_ALL FROM haupt WHERE B1_NAME = 'ABC'");
while ($treffer2 = mysql_fetch_row($abfrage_nr))
{
foreach ($treffer2 as $feld_ergebnis2)
if ($feld_ergebnis2 != "")
echo "<input type='IMAGE' src='../graphiken/b_anzeigen1.gif'>";
echo "<input type='HIDDEN' name='$feld_ergebnis2' value='send'";
echo "</tr>";
echo "</table>";
}
?>
</form>
hoffe, jemand hat ne lösung....danke jan
hi jan,
ich versehe das wie folgt:
du hast eine tabelle:
A2_NAME |A4_FLAE|A1_ALL
horst |mag |fisch
hugo |liebt |
ernst |freut |sich
und jetzt möchtest du folgendes ausgeben:
horst <button>fisch</button>
hugo
ernst <button>sich</button>
dann könntest du das doch so machen
select A2_NAME, A4_FLAE, A1_ALL
wenn es solche zeile gibt dann
echo A2_NAME und A4_FLAE
wenn jetzt noch A1_ALL != ""
dann echo button
hmmm oder habe ich da was falsch verstanden???
warum machst du zwei abfragen?
gruss
horst
hallo,
wir haben folgendes problem, an dem wir jetzt schon ne ewigkeit sitzen.
ich versuchs mal zu erklären.
wir haben über SQL-abfragen eine ergebnismenge erhalten, die auch
zeilenweise ausgegeben wird.
(lasst euch an den ganzen td und tr nicht stören - es ging bis jetzt nur um die funktionalität - nicht um optik)
in der variable $feld_ergebnis1 werden also der name und die fläche ausgegeben von einer bestimmten bedingung (ABC.)
diese 3 werten werden hintereinander geschrieben in eine zeile.
ab der syntax $abfrage_nr.... entsteht unser problem.
es folgt eine zweite abfrage, aber diesmal wird eine nummer abgefragt; aber zu den GLEICHEN bedingungen wie oben, damit die anzahl der datensätze mit der anzahl der button übereinstimmt.
es soll praktisch hinter den 3 werten pro zeile immer ein button erstellt werden.
hab ich also als ergebnis 10 datensätze, so wird 10x (1x pro zeile) ein button hinten angefügt. (also für jeden datensatz einen button)
ziel ist es, das ergebnis der zweiten abfrage, was eine eineindeutige nummer ausgibt ($feld_ergebnis2), dies wirkl nur einmal gibt, gleichzeitig als namen für den button zu deklarieren (name='$feld_ergebnis2').
hab ich also 10 datensätze, so hab ich auch 10 button und jeder button erhält praktisch einen anderen namen, da die eineindeutige nummer ja immer anders ist.
wenn ich also den button klicke und dadurch auf ne andre seite komme, soll die variable $feld_ergebnis2 mit auf die andre seite übernommen werden und dort mit echo "$feld_ergebnis2" wieder ausgegeben werden, da ich auf andern seiten damit weiter arbeiten muss.
kurz: der name des buttons ($feld_ergebnis2) soll durch ein abfrageergebnis vergebn werden. dieses eregbnis ist eineindeutig.
<form method="post" action="test_2.php">
<?php
require ("pruefroutine.php");
?>
<?php
$ergebnis1 = mysql_query("SELECT A2_NAME,A4_FLAE FROM haupt WHERE B1_NAME = 'ABC'");
while ($treffer1 = mysql_fetch_row($ergebnis1))
{
echo "<table border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>\n";
echo "<td width='10'>";
echo "</td>";
echo "</tr>";
echo "<tr><td height='10' bgcolor='#ff9900' colspan='6'>;
foreach ($treffer1 as $feld_ergebnis1)
if ($feld_ergebnis1 !="")
echo "$feld_ergebnis1";
}
$abfrage_nr = mysql_query("SELECT A1_ALL FROM haupt WHERE B1_NAME = 'ABC'");
while ($treffer2 = mysql_fetch_row($abfrage_nr))
{
foreach ($treffer2 as $feld_ergebnis2)
if ($feld_ergebnis2 != "")
echo "<input type='IMAGE' src='../graphiken/b_anzeigen1.gif'>";
echo "<input type='HIDDEN' name='$feld_ergebnis2' value='send'";
echo "</tr>";
echo "</table>";
}
?>
</form>
hoffe, jemand hat ne lösung....danke jan
hallo,
das mit dem button-tag könnte die lösung sein.
nur steuert er jetzt nicht auf die ausgabe-seite, wo er den wert der variablen ausgebn soll.
was könnte denn hier noch falsch sein?
wahrscheinlich liegts am onclick.....
<form action="test_1.php">
echo "<button name='$feld_ergebnis2' type='BUTTON' onClick='this.form.href='test_2.php''>";
echo "<img src='../graphiken/b_anzeigen1.gif'>";
echo "</button>";
</form>
die seite, wo die abfrageergebnisse udn die button stehen heisst test_1.php. nach dem klicken auf den button, soll die seite test_2.php geöffnet werden, wo in der variablen $feld_ergebnis2 der wert der zweiten abfrage ausgegeben wird.
antwort auf die frage, warum 2 abfrragen:
so kann man einzeln auf das ergebnis mit der eineindeutigen nummer (Bsp.: A1_ALL = fisch) zugreifen.
das würde doch nicht klappen, wenn wir alles nur in einer abfrage abfragen!?!
danke für die tipps...jan
hallo,
<form action="test_1.php">
echo "<button name='$feld_ergebnis2' type='BUTTON' onClick='this.form.href='test_2.php''>";
echo "<img src='../graphiken/b_anzeigen1.gif'>";
echo "</button>";
so könnte es mit dem übergeben gehen:
<input type="button" name="asf" value="bbbbb" onClick="self.location.href='test_2.php?rueck=$feld_ergebnis2'">
^^^^^^^^^^^^^^^^^
jetzt kannst du auf $_GET[rueck] (oder war es post, bin grad zu faul zum nachschauen, sorry :) zugreifen....
ansonsten könntest du für jedes element ein neues formular erstellen und dann jedesmal einen neuen submitbutton (oder für alle den selben?), in das form dann noch ein hiddenfeld mit dem value
http://selfhtml.teamone.de/html/formulare/versteckte.htm
hoffe so kommst du weiter
gruss
horst