Toon posts:

[php-mysql] while() maar dan aders

Pagina: 1
Acties:

Verwijderd

Topicstarter
PHP:
1
<?while ($myrow = mysql_fetch_row($id_result)) {printf(" Bericht van: %d<br> boodschap: %s" $myrow[1], $myrow[2] );}?>

ik gebruik dus deze while() om diverse berichten te tonen. nu zit ik alleen met een probleem, door deze functie gaat hij door totdat hij geen waarden meer tegenkomt, en alles heeft dezelfde vorm.

dus zo:
bericht van: 1
boodschap: hoi

bericht van: 1
boodschap: dag

bericht van: 1
boodschap: mzzls

mijn vraag is: kan ik ook de gegevens variabel maken per rij?
dus stel dit is het mysql query:

mail_id * user_id * bericht
-----------------
1 * 1 * hoi *
2 * 1 * dag *
3 * 1 * mzzls *
-----------------

dat het bericht op rij 1 de naam krijgt: $bericht_rij_een
dat het bericht op rij 2 de naam krijgt: $bericht_rij_twee
dat het bericht op rij 3 de naam krijgt: $bericht_rij_drie

kan dit? ik kan het namelijk nergens vinden :(

  • Bpje
  • Registratie: November 2000
  • Laatst online: 30-08 14:53
Ik snap je vraag niet helemaal, je wil gegevens opvragen en de aantal gegevens zijn variable per regel?

Verwijderd

Je haalt regel per regel neer, maar niets houdt je tegen al die regeltjes in een 'nieuwe' array te stoppen, en achterna uit te printen hoe jij wilt (variabel dus..)?

[url="http://www.php.net/array_push"]www.php.net/array_push[/url]

Verwijderd

Topicstarter
zo misschien iets duidelijker wat ik bedoel

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 01-09 18:16
je haalt alles op (alle berichten die geviewd moeten worden)

en dan while zetten met 3 rijén

<tr>
<td>bericht1</td>
<td>bericht2</td>
<td>bericht3</td>
</tr>

bedoel je zoiets? of 3 aparte tables?\

En kijk anders hier:
[url="http://www.php.net/manual/en/function.array-push.php"]http://www.php.net/manual/en/function.array-push.php[/url]

Zoals post hierboven ook al staat :)

Verwijderd

Wat je zou kunnen doen is een array van records maken.

Dan krijg je b.v. dat array[1] de volgende info bevat:
1 1 hoi
Bij array[2] krijg je dan
2 2 dag
Enz.

Dit kun je dan weer variabel maken door te zeggen:
$bericht_1 = $array[1];

En ook dit is natuurlijk weer dmv een while lus te genereren zodat dit voor de hele array geldt.

Suc6.

  • Bpje
  • Registratie: November 2000
  • Laatst online: 30-08 14:53
Je bedoelt variable variable dat kan wel door $$var te doen en $var is dan de naam van de variable.

dus:
PHP:
1
&lt;?$variablenaam = 'hond';$$variablenaam = 'blaf';print($hond);?&gt;

Verwijderd

Topicstarter
:( probleem: ik wil vanuit mysql de berichten hieronder vullen. dit kan niet met een loop(zoals while() hierboven) want de nummers zijn niet gelijk, als ik het wel doe krijg ik overal dezelfde waarde.

code:
1
2
3
4
5
6
7
8
9
10
&lt;!--
        var Tree = new Array;
        // nodeId | parentNodeId | nodeName | nodeUrl
        Tree[0]   = &quot;1|0|Postvak in|#&quot;;
        Tree[1]   = &quot;2|1|Bericht1|#&quot;;
        Tree[2]   = &quot;3|1|Bericht2|#&quot;;
        Tree[3]   = &quot;4|1|Bericht3|#&quot;;
        Tree[4]   = &quot;5|1|Bericht4|#&quot;;
        Tree[5]   = &quot;6|1|Bericht5|#&quot;;
        //--&gt;

nu hoop ik dus dat het mogelijk is om de out put van mysql:
code:
1
2
3
4
mail_id  mail_to_id  mail_from_id  bericht
   9       5         2      Hoi
  10       5         3      Dag
  23       5         1      Mzzls

kan ik nu per rij het bericht een $ geven?
Hoi >>>> is $var_rij_1
Dag >>>> is $var_rij_2
Mzzls >> is $var_rij_3

zodat ik die variabele gewoon in het javascript kan plaatsen

wat ik tot nu toe heb gelezen over array() enzo lukt dit niet :(

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Zodat je de variabele in javascript kan plaatsen ???

Voor php is javascript hetzelfde als html, dus gewoon printen en het is javascript.

Het boeit dus werkelijk niets dat het op het moment dat het in php is nog geen variabele is.

Je probleem snap ik iig ook niet, geef es wat beter aan wat je wilt??

  • Bpje
  • Registratie: November 2000
  • Laatst online: 30-08 14:53
okay je wil een boom maken goed en nu wil je dus bij houden welk bericht een reactie op elkaar is Check?

je hebt de db structuur al nu wil je alleen nog het spul in een variable krijgen?

ik stel dit voor

een 2d array te maken en dan wel zo:
code:
1
2
3
4
5
6
7
8
9
        var Tree = new Array;
        // nodeId | parentNodeId | nodeName | nodeUrl
        Tree[0][1]    = &quot;1|0|Postvak in|#&quot;;
        Tree[1][1]    = &quot;2|1|Bericht1|#&quot;;
        Tree[1][2]    = &quot;3|1|Bericht2|#&quot;;
        Tree[1][3]    = &quot;4|1|Bericht3|#&quot;;
        Tree[1][4]    = &quot;5|1|Bericht4|#&quot;;
        Tree[1][5]    = &quot;6|1|Bericht5|#&quot;;
        //--&gt;

nu komt de vraag hoe vul ik dit:
PHP:
1
&lt;?while ($myrow = mysql_fetch_row($id_result)){   tree[$myrow['parentNodeId']][$myrow['mail_id']] = $myrow['bericht']; }?&gt;

Als dit het nog niet is dan moet je met een voorbeeld komen van.

Het is zo en zo ..... en het moet zo en zo worden.

Verwijderd

Topicstarter
Op zondag 28 juli 2002 12:13 schreef ACM het volgende:
Zodat je de variabele in javascript kan plaatsen ???

Voor php is javascript hetzelfde als html, dus gewoon printen en het is javascript.
nou kijk, als ik het zo zou doen:

{printf(" Tree[0] = 1|0|%s|#; " $myrow[1]);}

dan zou ik als output krijgen

Tree[0] = 1|0|Hoi|#;
Tree[0] = 1|0|Dag|#;
Tree[0] = 1|0|Mzzls|#;

als als je nu kijkt naar hoe het zou moeten zijn dan zie je dat die cijfers dus hetzelfde blijven, en dan snapt het javascript er geen kont meer van. dat is dus het probleem,

als ik dus gewoon die berichten een variabele kan aansmeren dan kan ik die gewoon met <? echo "$variabele_rij_1" ?> in dat javascript donderen zodat de cijfertjes wel correct blijven. snappie?

Verwijderd

Topicstarter
is het niet gewoon mogelijk om ipv dat je alleen de kolom aangeeft waaruit de informatie moet komen(kolom 'user_id ofzo) ook gewoon aan te geven dat het de eerste regel uit het resultaat van de query moet zijn?

zal toch wel? zeer moeilijk zoeken dit :(

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Ik snap je probleem ook niet helemaal, maar wil je niet gewoon zoiets:
code:
1
2
3
4
5
6
7
8
$tellertje = 0;
while (bla) {
  printf(&quot; Tree[%s] = \&quot;%s|%s|%s|#\&quot;; &quot;
       ,$tellertje++
       ,$myrow[1]
       ,$myrow[2]
       ,$myrow[3] );
}

Today's subliminal thought is:

Pagina: 1