|
| Vis data, når de er valgt Fra : Britt Malka |
Dato : 11-01-04 18:19 |
|
Godaften
Jeg må indrømme, at jeg er lidt i tvivl om, hvorvidt mit spørgsmål
hører hjemme her eller i database-gruppen ...
Jeg er i gang med at lave en formular til eget brug, hvor jeg på en
rulleliste gerne vil kunne vælge en e-mail-adresse (fra
MySQL-database), og herefter skal navn og adresse på personen dukke op
af sig selv.
Jeg kan kun få navn og adresse til at komme frem, hvis jeg bruger en
knap, men i så fald ryger rullelisten tilbage og viser første e-mail
på listen, uanset hvilken jeg har valgt.
Hvad kan jeg gøre for at få navn og adresse frem med det samme, hver
gang jeg har valgt en e-mail-adresse?
Her henter jeg e-mail-adressen fra databasen og anbringer den på
rullelisten:
$email = mysql_query("select * from tabel ORDER BY date ASC") or
die(mysql_error());
while ($row = mysql_fetch_array($email)) {
print "
<option>".$row['email1']."</option>";
}
Her - længere nede - får jeg indsat navn og adresse:
$email = $_REQUEST["kunde"];
$kunde = mysql_query("select * from tabel where email1 = '$email'");
while ($row = mysql_fetch_array($kunde)) {
print ("<p>".$row['first']." ".$row['last']."</p>");
}
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)
| |
Kasper Garnæs (11-01-2004)
| Kommentar Fra : Kasper Garnæs |
Dato : 11-01-04 19:40 |
|
Britt Malka <news@foxladi.com> wrote:
> Jeg må indrømme, at jeg er lidt i tvivl om, hvorvidt mit spørgsmål
> hører hjemme her eller i database-gruppen ...
Jeg tror nærmere det høre til i dk.edb.internet.webdesign.clientside.
> Jeg er i gang med at lave en formular til eget brug, hvor jeg på en
> rulleliste gerne vil kunne vælge en e-mail-adresse (fra
> MySQL-database), og herefter skal navn og adresse på personen dukke op
> af sig selv.
>
> Jeg kan kun få navn og adresse til at komme frem, hvis jeg bruger en
> knap, men i så fald ryger rullelisten tilbage og viser første e-mail
> på listen, uanset hvilken jeg har valgt.
>
> Hvad kan jeg gøre for at få navn og adresse frem med det samme, hver
> gang jeg har valgt en e-mail-adresse?
Uden at være ekspert i clientside scripting, vil jeg umiddelbart foreslå dig
at du som før laver din rulleliste med email adresser hentet fra database. I
stedet for at at forsøge at placere for- og efternavne direkte på siden,
skal de dog i stedet sættes ind i et clientside array, der mapper
emailaddresser til navne. Når værdien i emailaddresserullelisten ændres,
hentes det tilsvarende navn i arrayet og vises på siden.
--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk
| |
Britt Malka (12-01-2004)
| Kommentar Fra : Britt Malka |
Dato : 12-01-04 09:08 |
|
"Kasper Garnæs" <demos@mailme.dk> skrev:
> I
>stedet for at at forsøge at placere for- og efternavne direkte på siden,
>skal de dog i stedet sættes ind i et clientside array, der mapper
>emailaddresser til navne. Når værdien i emailaddresserullelisten ændres,
>hentes det tilsvarende navn i arrayet og vises på siden.
Aïe... Jeg forstod ikke meget her, desværre.
Altså, jeg har min rulleliste med e-mail-adresser som nu - så meget
forstod jeg.
Men den med clientside array fangede jeg ikke. Det lyder smart nok,
men hvordan?
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)
| |
Thomas Lindgaard (11-01-2004)
| Kommentar Fra : Thomas Lindgaard |
Dato : 11-01-04 21:26 |
|
On Sun, 11 Jan 2004 18:19:03 +0100, Britt Malka wrote:
> Jeg kan kun få navn og adresse til at komme frem, hvis jeg bruger en
> knap, men i så fald ryger rullelisten tilbage og viser første e-mail
> på listen, uanset hvilken jeg har valgt.
>
> Hvad kan jeg gøre for at få navn og adresse frem med det samme, hver
> gang jeg har valgt en e-mail-adresse?
Hvis du kan leve med at brugeren skal omkring serveren for at få navn og
adresse vist, så er det blot et spørgsmål om at tilføje
'selected="selected"' til den valgte emailadresse.
<?php
while (<hent emailadresser fra database>)
{
if ( $emailadresse == <den valgte> )
{
print '<option selected="selected">'.$emailadresse.'</option>';
}
else
{
print '<option>'.$emailadresse.'</option>';
}
}
?>
Mvh.
/Thomas
| |
Britt Malka (12-01-2004)
| Kommentar Fra : Britt Malka |
Dato : 12-01-04 09:16 |
|
Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> skrev:
>Hvis du kan leve med at brugeren skal omkring serveren for at få navn og
>adresse vist,
Det kan jeg vist sagtens leve med, tror jeg. Forstår ikke helt
konsekvenserne.
>så er det blot et spørgsmål om at tilføje
>'selected="selected"' til den valgte emailadresse.
Okay. Kan desværre ikke helt se, hvorfor.
Det her - det skal være der, hvor navn og adresse skal vises, ikke?
><?php
>
> while (<hent emailadresser fra database>)
Så langt er jeg med.
> {
> if ( $emailadresse == <den valgte> )
Hvordan kan jeg få scriptet til at se, hvilken e-mail-adresse der er
valgt? Jeg har prøvet at kalde $kunde, men det virker ikke. Jeg
forstår ikke helt, hvorfor. Altså, jeg kan få den til at finde
e-mail-adressen fra feltet "kunde", hvis jeg beder den om det i
starten af scriptet, men ikke længere nede.
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)
| |
Thomas Lindgaard (12-01-2004)
| Kommentar Fra : Thomas Lindgaard |
Dato : 12-01-04 10:46 |
|
On Mon, 12 Jan 2004 09:15:37 +0100, Britt Malka wrote:
> Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> skrev:
>
>>Hvis du kan leve med at brugeren skal omkring serveren for at få navn og
>>adresse vist,
>
> Det kan jeg vist sagtens leve med, tror jeg. Forstår ikke helt
> konsekvenserne.
Konsekvensen er at det er langsommere end hvis navn og adresse dukker op
via noget clientside-scripting - det kræver et reload af siden.
>>så er det blot et spørgsmål om at tilføje 'selected="selected"' til
>>den valgte emailadresse.
>
> Okay. Kan desværre ikke helt se, hvorfor.
Prøv at køre følgende lille script - så kan du se pointen:
<html>
<body>
<form>
<select name="rullemenu">
<?php
for ($i = 0; $i < 5; $i++)
{
printf(
'<option value="%d"%s>option %d</option>'."\n",
$i,
( $_REQUEST['rullemenu'] == $i ) ? ' selected="selected"' : '',
$i
);
}
?>
</select>
<input type="submit">
</form>
</body>
</html>
> Det her - det skal være der, hvor navn og adresse skal vises, ikke?
>
>><?php
>>
>> while (<hent emailadresser fra database>)
>
> Så langt er jeg med.
>
>> {
>> if ( $emailadresse == <den valgte> )
>
> Hvordan kan jeg få scriptet til at se, hvilken e-mail-adresse der er
> valgt? Jeg har prøvet at kalde $kunde, men det virker ikke. Jeg
> forstår ikke helt, hvorfor. Altså, jeg kan få den til at finde
> e-mail-adressen fra feltet "kunde", hvis jeg beder den om det i starten
> af scriptet, men ikke længere nede.
Jeg kunne ikke lige finde på et intelligent svar til ovenstående, så du
får lige noget kode at tygge på i stedet :)
<html>
<body>
<form>
Email: <select name="email">
<?php
$emails = array('hejsa@server.dk', 'goddag@server.dk', 'farvel@server.dk',
'velbekomme@server.dk');
foreach ($emails as $email)
{
print "<option value='$email'";
// Tjek om dette er den valgte email
if ( $_REQUEST['email'] == $email )
{
print " selected='selected'";
}
print ">$email</option>\n";
}
?>
</select><br>
<?php
// Hvis $_REQUEST indeholder en email skal vi finde tilsvarende navn,
// adresse i databasen
if ( isset($_REQUEST['email']) )
{
$resultat = mysql_query("select navn, adresse from tabel where
email='{$_REQUEST['email']}'"); $kunde = mysql_fetch_array($resultat);
}
?>
Navn: <input type="text" value='<?php print $kunde['navn']; ?>'><br>
Adresse: <input type="text" value='<?php print $kunde['adresse']; ?>'><br>
<input type="submit">
</form>
</body>
</html>
Det giver muligvis nogle warnings og notices men ideen skulle være god
nok :)
Mvh.
/Thomas
| |
Britt Malka (12-01-2004)
| Kommentar Fra : Britt Malka |
Dato : 12-01-04 17:21 |
|
Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> skrev:
Tak for din hjælp
>Konsekvensen er at det er langsommere end hvis navn og adresse dukker op
>via noget clientside-scripting - det kræver et reload af siden.
Det kan jeg godt leve med. I dette tilfælde er det kun mig selv, der
skal bruge det til administration.
>>>så er det blot et spørgsmål om at tilføje 'selected="selected"' til
>>>den valgte emailadresse.
>>
>> Okay. Kan desværre ikke helt se, hvorfor.
>
>Prøv at køre følgende lille script - så kan du se pointen:
Ikke helt, desværre. Jeg mener, rullemenuen er helt fin, men jeg kan
ikke se forskel på den og så den, jeg lavede, uden select.
>Jeg kunne ikke lige finde på et intelligent svar til ovenstående, så du
>får lige noget kode at tygge på i stedet :)
Tak, der er vist til adskillige middage dér
Nu virker det i hvert fald.
Tak for hjælpen.
>Det giver muligvis nogle warnings og notices men ideen skulle være god
>nok :)
Ja, for den database havde jeg ikke lige
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)
| |
Thomas Lindgaard (12-01-2004)
| Kommentar Fra : Thomas Lindgaard |
Dato : 12-01-04 18:33 |
|
On Mon, 12 Jan 2004 17:20:56 +0100, Britt Malka wrote:
>>Prøv at køre følgende lille script - så kan du se pointen:
>
> Ikke helt, desværre. Jeg mener, rullemenuen er helt fin, men jeg kan
> ikke se forskel på den og så den, jeg lavede, uden select.
Hvis du har følgende stump HTML
<select>
<option value="1">hejsa</option>
<option value="2">goddag</option>
</select>
så vil hejsa være valgt, da det er første element.
Hvis du nu tilføjer et tredie element
<option value="3" selected="selected">vælg mig!</option>
så vil det nye element blive vist.
Det er blot den pointe som bliver demonstreret af kodestumpen.
Mvh.
/Thomas
| |
Britt Malka (13-01-2004)
| Kommentar Fra : Britt Malka |
Dato : 13-01-04 22:56 |
|
Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> skrev:
>Det er blot den pointe som bliver demonstreret af kodestumpen.
Pling! Nu faldt ti-øren. Langsomt, men dog sikkert ...
Tak
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)
| |
|
|