12. august 2007 - 21:47
Der er
24 kommentarer og 1 løsning
select * from
Jeg prøver at hente alle poster fra mysql, den udskriver dog kun 1 post - hvordan kan det være? Kode: class Video { public $titel; function udskrivVideo() { echo "<p>".$this->titel." </p>"; } } $test_1 = new Video(); $test_2 = new sql(); $test_2->connect(); $test_2->q("SELECT * FROM navn"); $array = $test_2->a(); $test_1->titel = $array[1]; $test_2->free(); $test_2->close(); $test_1->udskrivVideo();
Annonceindlæg fra Barco
12. august 2007 - 21:59
#1
$test_1->titel = $array[1]; Prøv at udskriv: echo $array[2]; echo $array[3]; osv...
12. august 2007 - 22:03
#2
Den udskriver kun echo $array[1]; og echo $array[2]; De andre er blanke
13. august 2007 - 07:48
#3
Hvor mange rækker giver din SQL: SELECT * FROM navn i phpmyadmin?
13. august 2007 - 10:34
#4
Hvordan ser din funktion a() ud ??
13. august 2007 - 13:26
#5
Den giver 5 resultater i phpmyadmin. function a(){ $array = null; if($this->_activeQuery){ $array = mysql_fetch_array($this->_activeQuery, $this->_conn); } return $array; } Og funktionen ser sådan her ud:
13. august 2007 - 17:24
#6
Du skal bare skrive: while($array = $test_2->a()){ echo $array["fornavn"]."<br />"; } //mcardle
13. august 2007 - 17:25
#7
Hvis din række hedder fornavn, naturligvis. //mcardle
13. august 2007 - 19:51
#8
Hvor skal jeg skrive det henne? Og skal jeg erstatte det for noget der allerede står?
13. august 2007 - 20:20
#9
I stedet for dette: $array = $test_2->a(); $test_1->titel = $array[1];
13. august 2007 - 20:48
#10
Præcis jakobdo. Desuden skal du ikke bruge $test_2->free(); Den er til at frigøre ram, hvis det er et stort kald. Så dit array ikke bruger for mange ram på serveren. //mcardle
13. august 2007 - 20:54
#11
free(); er vel til at release result fra mysql_query()
13. august 2007 - 20:58
#12
13. august 2007 - 21:10
#13
Yes det fungerer! :) Er det iorden mcardle får 50 point og jakobdo får 10 point for sit input?
13. august 2007 - 21:12
#14
kan jeg ikke få det udskrevet her også: class Video { public $titel; function udskrivVideo() { echo "<p>".$this->titel." </p>"; } } eller er det umuligt?
13. august 2007 - 21:17
#15
Du skal bare skrive: class Video { public $titel; function udskrivVideo() { return "<p>".$this->titel." </p>"; } } $test_1 = new Video(); echo $test_1->udskrivVideo(); //mcardle
13. august 2007 - 21:18
#16
Matz <- Det er fint... Her er mit svar. //mcardle
13. august 2007 - 21:51
#17
Den udskriver intet: $test_1 = new Video(); echo $test_1->udskrivVideo(); $test_2 = new sql(); $test_2->connect(); $test_2->q("SELECT * FROM navn"); while($array = $test_2->a()){ echo $array["fornavn"]."<br />"; echo $array["efternavn"]."<br /><br />"; } $test_2->close(); $test_1->udskrivVideo();
13. august 2007 - 21:52
#18
ups koden er her: $test_1 = new Video(); $test_2 = new sql(); $test_2->connect(); $test_2->q("SELECT * FROM navn"); while($array = $test_2->a()){ echo $array["fornavn"]."<br />"; echo $array["efternavn"]."<br /><br />"; } $test_2->close(); echo $test_1->udskrivVideo();
13. august 2007 - 22:01
#19
Hvad er dine felt navne i tabellen NAVN?
13. august 2007 - 22:03
#20
Altså det jeg mente var at den intet udskriver med den nye kode: class Video { public $titel; function udskrivVideo() { return "<p>".$this->titel." </p>"; } } $test_1 = new Video(); echo $test_1->udskrivVideo(); Jeg har 3 felter i navn. Den her virker helt fint: while($array = $test_2->a()){ echo $array["fornavn"]."<br />"; }
13. august 2007 - 22:07
#21
Men din video klasse ser slet ikke færdi ud?
13. august 2007 - 22:11
#22
kan du forklare nærmere hvad der mangler?
13. august 2007 - 22:29
#23
Det er ligemeget med mit sidste spg. Lig et svar jakobdo
14. august 2007 - 07:49
#24
Du får et svar!
31. oktober 2007 - 11:15
#25
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling