Toon posts:

[PHP/MYSQL] Array ophalen werkt niet ..

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok ik heb een een query:
code:
1
2
3
4
5
6
7
SELECT DISTINCT * FROM lokwa_topics, lokwa_posts 
WHERE lokwa_topics.subject LIKE '%e%' 
OR lokwa_topics.message LIKE '%e%' 
OR lokwa_posts.message LIKE '%e%' 
AND lokwa_topics.tid = lokwa_posts.tid 
GROUP BY lokwa_topics.subject 
ORDER BY lastpost DESC

Ik wil nu lokwa_topics.subject laten zien.
Dus ik d8:
PHP:
1
2
3
4
5
6
<?
while($topic = mysql_fetch_array($query)) {

echo "$topic[lokwa_topics.subject]<br>";
}
?>

Alleen dan krijg ik deze error:
code:
1
Parse error: parse error, expecting `']''

Wat doe ik dan fout?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

nee geenn lokwa!!! :X ;)

offtopic:
PlayR en ik hebben ooit een search geschreven voor lokwa. staat ergens op hun hacks forum ;)

  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Ik zie zo geen fouten, als je even ietsje meer info (en code) geeft dan kan het wat duidelijker worden.
Op welke regel geeft ie die error, post eens de code 2/3 regels voor die regel en 2/3 regels erna?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op vrijdag 16 november 2001 16:47 schreef goalgetter het volgende:
Ik zie zo geen fouten, als je even ietsje meer info (en code) geeft dan kan het wat duidelijker worden.
Op welke regel geeft ie die error, post eens de code 2/3 regels voor die regel en 2/3 regels erna?
* goalgetter kijkt niet goed ;)
code:
1
echo "$topic[lokwa_topics.subject]<br>";

moet zijn:
code:
1
echo $topic['subject'], "<br>";

tenminste, "moet", het kan. Het is een van de mogelijkheden. Hoe je het zelf doet klopt iig niet.

De parse error zit 'm in die .

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Oeps :)

Het is idd beter om echo $var[blaat] . "tekst"; te doen, maar dat hoeft in principe niet.

Daarnaast zat er ook een foutje in.. Een resultset van een query heeft als key altijd de columnaam, en niet tabel.column als key

Verwijderd

Topicstarter
ok dit is mijn code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
if ($zoekin==forum) {

$query = mysql_query("SELECT DISTINCT * FROM lokwa_topics, lokwa_posts WHERE lokwa_topics.subject 
LIKE '%e%' OR lokwa_topics.message LIKE '%e%' 
OR lokwa_posts.message LIKE '%e%'
AND lokwa_topics.tid = lokwa_posts.tid 
GROUP BY lokwa_topics.subject ORDER BY `lastpost` DESC");

 while($topic = mysql_fetch_array($query)) {
 echo "$topic[lokwa_topics.subject]<br>";

}} // einde forum
?>

Verwijderd

Topicstarter
Kopt je kan $topic[subject] doen

Dit was ik effe vergeten, er is maar een 'subject'

Maar er zijn twee TID (topic id)

Dus dan moet ik wel iets in de zin van:

$topic[lokwa_topics.tid] gebruiken omdat hij moet weten welke tid hij moet hebben

Dus hoe kan dat dan? of kan dat gewoon niet ....

  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Nope, dan moet je in je query een "select field as blaat" doen. Indien je meer velden met dezelfde naam hebt, krijg je alleen de eerste in je resultset terug $result['veldnaam'].

Doe anders even een
code:
1
print_r($topic)

Dan weet je precies welke keys er in zitten.

Verwijderd

Topicstarter
Op vrijdag 16 november 2001 17:01 schreef goalgetter het volgende:
Nope, dan moet je in je query een "select field as blaat" doen. Indien je meer velden met dezelfde naam hebt, krijg je alleen de eerste in je resultset terug $result['veldnaam'].

Doe anders even een
code:
1
print_r($topic)

Dan weet je precies welke keys er in zitten.
Woow print_r($topic) dat wil je niet zien

Een grote troep van berichten Id's etc


Maar wat bedoel je precies met: "select field as blaat"

Ennuuh als ik $topic[tid] zijn alle Tid's hetzelfde

  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
SELECT table1.veld as veld1, table2.veld as veld2

Het enige doel van een print_r ($topic) zou zijn om je te laten zien welke elementen er in die Array aanwezig zijn, en onder welke KEY je ze kan aanspreken.

Verwijderd

Topicstarter
Ik snap het,

Ok het werkt Bedankt HEEEEE!!!! *D

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op vrijdag 16 november 2001 16:58 schreef TSX het volgende:
Kopt je kan $topic[subject] doen

Dit was ik effe vergeten, er is maar een 'subject'

Maar er zijn twee TID (topic id)
hmmm.
* drm denkt dat je dan wat aan je db-design moet doen
goalgetter:
Het is idd beter om echo $var[blaat] . "tekst"; te doen, maar dat hoeft in principe niet.
"beter" is het niet. Ikzelf doe altijd als ik aan een array in een string referer meestal met accolades werken. gaat altijd goed:
PHP:
1
2
3
4
5
6
7
8
9
<?
$sjaak = array ( 
   "melp", 
   "bla"  => "bever"
);

echo "Array index 0: {$sjaak [ 0 ]}";
echo "Array index \"bla\": {$sjaak [ 'bla' ]}";
?>
Daarnaast zat er ook een foutje in.. Een resultset van een query heeft als key altijd de columnaam, en niet tabel.column als key
like i said ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op maandag 19 november 2001 09:09 schreef drm het volgende:

[..]

hmmm.
* drm denkt dat je dan wat aan je db-design moet doen
[..]
* wasigh denkt dat lokwa wat aan hun db design moet doen (been there..)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op maandag 19 november 2001 09:39 schreef wasigh het volgende:

[..]

* wasigh denkt dat lokwa wat aan hun db design moet doen (been there..)
* drm kent geen lokwa :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1