Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:37 Der er 28 kommentarer og
1 løsning

Problem med SELECT og 2 variabler

Hejsa jeg har flg.

echo"<select name=\"brand_name\" >";

while($resultat = mysql_fetch_array($Que_getBrand))
{
  echo"<OPTION VALUE =\"$resultat[ID]\">$resultat[Brand];</OPTION>" ;
}
  echo"</SELECT>";

Og det er også fint nok. Men dette giver mig kun ID numeret i brand_name. Jeg
skal også bruge det der stod i $resultat[Brand]. Men det er jo forsvundet og
kan kun hentes med endnu et opslag i DB hvilket ikke er hensigtmæssig. Så
findes der ikke en måde at gemme begge værdier når man bruger <SELECT> ?
Eller en lille finde.  ?

Mvh
Anders
Avatar billede mjl Nybegynder
11. maj 2003 - 18:39 #1
Denne linie er forkert du har en ; for meget

echo"<OPTION VALUE =\"$resultat[ID]\">$resultat[Brand];</OPTION>" ;
echo"<OPTION VALUE =\"$resultat[ID]\">$resultat[Brand]</OPTION>" ;
Avatar billede mjl Nybegynder
11. maj 2003 - 18:41 #2
Prøv også med """"" her:

echo"<OPTION VALUE =\"$resultat["ID"]\">$resultat["Brand"];</OPTION>" ;

...og husk forskel på STORE og små bogstaver.
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:41 #3
Ahhh damn. ja det har jeg lige rette. Men problemet stpr stadig. Hvordan gemmer jeg det der stod i $resultat[Brand] ved den værdi som er i $resultat[ID]
Avatar billede mjl Nybegynder
11. maj 2003 - 18:41 #4
...altså i dine ["HER"]
Avatar billede mjl Nybegynder
11. maj 2003 - 18:41 #5
???
Avatar billede mjl Nybegynder
11. maj 2003 - 18:43 #6
SKal du bruge begge værdier?
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:43 #7
netop
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:43 #8
ikke kun $resultat[ID] som kommer til at lægge i brand_name
Avatar billede mjl Nybegynder
11. maj 2003 - 18:44 #9
Din value, skal være både nummer og mærke?

234 Adidas ????
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:45 #10
Ja. ID = skal bruge til endnu en søgning. Og det Brand som ID svarede til skal står længere nede på siden.
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:46 #11
Eller NEJ. Value skal være = ID og så skal resultat["Brand"] gemmes i en ANDEN variable som jeg kan bruge længere nede.
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:49 #12
Når jeg tænker over det er det vel egentlig umulæigt det jeg søger. PHP eller hvem der nu styre showet ved vel ikke hvad værdi der svarer til. Så jeg bliver vel egentlig nød til at lave endnu en søgning i den samme tabel efter SELECT med SQL: SELECT brand FROM Maerker WHERE $brand_name = ID
Avatar billede mjl Nybegynder
11. maj 2003 - 18:51 #13
Det nemmeste ja - er nok at søge igen, ud fra den valgte ID - altså find mærke hvor ID = $id
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:52 #14
Tjaaa. Det har du sgu nok ret i. Lader lige ? stå lidt i nu hvis der skulle komme en med et andet forslag. Men ellers tak for at åbne mit sind. lol
Avatar billede mjl Nybegynder
11. maj 2003 - 18:53 #15
Hvor sender du $resultat[ID] hen?
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 18:55 #16
Til en ny side som skal vise resultat af en række dropdown boxe. Planen var at jeg ville sende $resultat[Brand] med som et hidden input field. Så jeg havde navnet på Brand. Nu er jeg nød til at sende ID med til den nye side og der hente Brand igen.
Avatar billede mjl Nybegynder
11. maj 2003 - 18:59 #17
Skal du bruge ID'et til noget? På den nye side...????
Avatar billede mjl Nybegynder
11. maj 2003 - 19:00 #18
...sorry -  det skulle du jo...
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 19:00 #19
Nej intet. Det jeg skal bruger er det der stod i $resultat[Brand]. Men jeg har kun ID.
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 19:01 #20
Så jo det skal jeg bruge for at finde Brand igen.
Avatar billede mjl Nybegynder
11. maj 2003 - 19:03 #21
Hvad så med BRAND begge steder????????

echo "<OPTION VALUE=".$resultat["Brand"].">".$resultat["Brand"]."</OPTION>";
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 19:04 #22
Nej. Det går nemlig ikke. For jeg skal OGSÅ bruge ID til en ny søgning på npget andet. Så der er så og sige en interesse konflikt....
Avatar billede mjl Nybegynder
11. maj 2003 - 19:04 #23
echo"<select name=\"brand_name\" >";

while($resultat = mysql_fetch_array($Que_getBrand))
{
  echo"<OPTION VALUE =\"$resultat[Brand]\">$resultat[Brand]</OPTION>" ;
}
  echo"</SELECT>";
Avatar billede mjl Nybegynder
11. maj 2003 - 19:05 #24
ok
Avatar billede mjl Nybegynder
11. maj 2003 - 19:07 #25
Hvad så med at køre den første gang på samme side - inden du sender den videre - så den lige tager BRAND med, ved at køre en gang mere på første side og spørge efter brand hvor den er lig med ID, og så sende begge værdier videre...hvis du forstår! :o)
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 19:09 #26
>så den lige tager BRAND med, ved at køre en gang mere på første side og >spørge efter brand hvor den er lig med ID, og så sende begge værdier videre.

Men du spørge med en SQL sætning?
Avatar billede mjl Nybegynder
11. maj 2003 - 19:11 #27
Hvorfor vil du gerne undgå næste forespørgsel?
Avatar billede anderskj1 Nybegynder
11. maj 2003 - 19:13 #28
Jamen det er var mest optimerings mæssigt at skulle slå 2 gange op i træk. PÅ stort set den samme oplysning. Men jeg tror faktisk at jeg gør det på den sidst måde du forslog. Virker mest overskuelig. Så mange tak for hælpen :))
Avatar billede jakoba Nybegynder
11. maj 2003 - 19:26 #29
hvad med:

while($resultat = mysql_fetch_array($Que_getBrand))
{
  echo"<OPTION VALUE =\"$resultat[ID]|$resultat[Brand]\">$resultat[Brand];</OPTION>" ;
}

så får du returneret begge værdier i en lang streng. du kan så skille dem ad med php funktionen explode (på skilletegn "|")
http://dk.php.net/manual/en/function.explode.php
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester