Avatar billede knagen7100 Novice
20. marts 2005 - 19:22 Der er 9 kommentarer og
1 løsning

Array plads konverteres til variabel

Jeg laver følgende SQL forespørgsel i PHP:

mysql_select_db("monitorering") or die(mysql_error());
$rs = mysql_query ("select RxPktsLAN from måling limit 10");
while ($raekke = mysql_fetch_array($rs)) {
  {

Nu vil jeg så gerne have tildelt den enkelte array plads til en variabel som jeg kan bruge udenfor {}

Fx: $data1 = $raekke[0]

Hvordan gør jeg det ??
Avatar billede Slettet bruger
20. marts 2005 - 19:30 #1
Hvad mener du med "tildelt den enkelte array plads til en variabel" ?

Du kan lave $array[] = $data1; - Hvis jeg forstår dig korrekt!
Avatar billede knagen7100 Novice
20. marts 2005 - 19:56 #2
Jeg vil gerne ligge array plads 0 over i $data0
plads 1 over i $data1
plads 2 over i $data2

osv
Avatar billede Slettet bruger
20. marts 2005 - 20:03 #3
er det ikke nemmere bare at kalde $array[0]?
Avatar billede knagen7100 Novice
20. marts 2005 - 20:12 #4
Ja det var ikke lige den løsning jeg havede tænkt mig. Jeg skal bruge værdierne til dynamisk opdatering at et søjle diagram.

$array[0] kan ikke kaldes udenfor { }
Avatar billede kasper.h Nybegynder
20. marts 2005 - 20:48 #5
$i=1;
while ($a = array_shift($array)) {
  eval("\$data$i = $a");
  $i++;
}
Avatar billede knagen7100 Novice
20. marts 2005 - 20:59 #6
kasper.h kan du give lidt uddybende forklaring.

Hvor skal koden sættes ind ??
Hvad kommer mine variabler til at hedde ??
Avatar billede olebole Juniormester
20. marts 2005 - 21:05 #7
<ole>

$rows = array();
mysql_select_db("monitorering") or die(mysql_error());
$rs = mysql_query ("select RxPktsLAN from måling limit 10");
while ($raekke = mysql_fetch_array($rs)) {
  $rows[] = $raekke;
}

Så har du et array '$rows' med alle dine rækker, som du kan bruge, hvor somhelst:
  print "Feltet 'navn' fra fjerde række: " . $rows[3]["navn"];

/mvh
</bole>
Avatar billede olebole Juniormester
20. marts 2005 - 21:09 #8
- men jeg tvivler på, du kan have en tabel, der hedder 'måling', uden at back-tick'e:
  $rs = mysql_query ("select `RxPktsLAN` from `måling` limit 10");

Så skal den sidste linie i mit eksempel naturligvis være:
  print "Feltet 'RxPktsLAN' fra fjerde række: " . $rows[3]["RxPktsLAN"];
Avatar billede knagen7100 Novice
20. marts 2005 - 21:29 #9
Jeg siger tak for hjælpen olebole, det var præcist det jeg efterspurgte. Hvis du smider et svar får du point.

Det første svar virker. Jeg er ikke lige klar over hvad back-tick'e er. Men hvis det er ` fungere det fint uden.
Avatar billede olebole Juniormester
21. marts 2005 - 02:15 #10
De escape'er ulovlige navne. Har du f.eks. et feltnavn, der hedder 'by', vil MySQL forveksle det med ordet 'by' - som i 'ORDER BY'. Der bruger man 'back-ticks' - eller accent grave, som tegnet også hedder. Jeg troede bare ikke, man kunne bruge skandinaviske tegn ... men det kan man altså.

- og selvtak  :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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