PHP array filteren en uitpakken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo GT,

In een database heb ik de volgende table gemaakt:

link_titlelink_urllink_categorylink_number
titleurlcategorynumber
titleurlcategorynumber
titleurlcategorynumber


Nu wil ik op een pagina de categorien weergeven met daaronder de bijbehorende links. Dat heb ik geprobeerd, maar bij de code hieronder pakt hij de category array uit en weergeeft <b>elke</b> category. De categorien zijn voor een groot gedeelte hetzelfde en daarom wil ik de category array filteren op duplicates. (lukt niet).

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
   include(dbinfo.inc);
   
$cxn = mysqli_connect($hostname,$accountname,$accountpassword,$database) or die (Could not connect to server, please try again later.);
$query = select link_category from blog_links;
$result = mysqli_query($cxn,$query) or die (couldn't execute query);



while($row = mysqli_fetch_assoc($result)){
    foreach($row as $category){
        echo <ul>;
        echo <li><b>$category</b></li> ;
                
        $query2 = select link_title, link_url from blog_links where link_category='$category';
        $result2 = mysqli_query($cxn,$query2) or die (couldn't execute query);
              while($row2 = mysqli_fetch_row($result2)){
                      foreach ($row2 as $link) {    
                            echo <li><a href = $link>$link</a></li>;
                              }
                       }
                 }
echo </ul>;
           }

?>

Daarnaast lukt het ook niet om de linktitle (hetgene in: <a href = $link>$link</a>) een goede doorverwijzing te geven. mysqli_fetch_row zou de row toch op moeten verdelen in een array met link[1] en link[2]? Als ik die waarden in de <a> tags invul, dan krijg ik slechts een letter...

Kan iemand me helpen?

Acties:
  • 0 Henk 'm!

Verwijderd

Kijk eens naar SELECT DISTINCT

trouwens... zet eens aanhalingstekens om je strings heen.. het verbaast me dat PHP dit ueberhaupt pakt...

Acties:
  • 0 Henk 'm!

  • Mammon
  • Registratie: December 2006
  • Laatst online: 24-08 20:45
Kijk ook is naar joins. Query's is loops is bijna altijd slecht.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ah ja, heb all aanhalings tekens verwijderd... Iemand vroeg hier of ik dat voortaan kon doen om het leesbaar te maken.. Hmm en wat bedoel je Mammon? Ik heb geleerd om loops te gebruiken bij dit soort dingen :O.

EDIT: Yes, bedankt! Select distinct werkt inderdaad! Nu alleen nog probleem 2, namelijk dat ik nu even niet meer weet hoe ik de naam van de link kan verbinden met de url..?

[ Voor 29% gewijzigd door Verwijderd op 12-08-2009 14:25 ]


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Dat heb je dan fout geleerd. :P Lees eerst dus wat over joins in sql.

{signature}


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 23:48

MueR

Admin Tweakers Discord

is niet lief

Dan heeft diegene die het je geleerd heeft er de ballen verstand van. Als je logisch nadenkt, wat zou beter zijn. Een enkele, ietwat langer (in milliseconden) durende query, of een enkele tientallen losse queries?

Overigens lijkt het me erg stug dat iemand hier je zegt dat je alle quotes er uit moet halen. Alleen irrelvante code moet je er uit halen. Het gebrek aan quotes maakt het lezen van je code alleen maar lastiger, doordat er dingen als string worden aangemerkt waar ze dat niet zijn.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, dan laat ik ze er de volgende keer niet uit. Hmm en moet even naar die joins kijken, weet niet meteen wat nu bedoeld wordt :P.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op woensdag 12 augustus 2009 @ 14:21:
ah ja, heb all aanhalings tekens verwijderd... Iemand vroeg hier of ik dat voortaan kon doen om het leesbaar te maken..
Beter lezen. Het ging om deze post, en de voorloper daarvan. Daar staat: "haal alles buiten de quotes". Niet, "haal alle quotes eruit". Wat Manueltje22 bedoelt is dat je beter niet variabelen in strings kunt plaatsen, maar in plaats daarvan strings concateneert met variabelen:
PHP:
1
2
3
4
5
// dus niet zo:
$str = "Hallo, dit is $var1 een string met $var2 variabelen";

// maar zo:
$str = "Hallo, dit is " . $var1 . " een string met " . $var2 . " variabelen";

Zoals je aan de syntax highlighting hier al kunt zien kun je bij de tweede variant veel beter zien waar je variabelen staan.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ah right ty. Heeft iemand trouwens nog een oplossing voor dat ik niet weet hoe je de variabelen in de mysqli_fetch_row functie opsplitst in twee soorten? Namelijk de naam en de url?

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Verwijderd schreef op woensdag 12 augustus 2009 @ 15:00:
ah right ty. Heeft iemand trouwens nog een oplossing voor dat ik niet weet hoe je de variabelen in de mysqli_fetch_row functie opsplitst in twee soorten? Namelijk de naam en de url?
Check ff de manual, daar staat hoe je de aparte velden kan krijgen met compleet voorbeeld erbij. :)

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ahh nice ty! Voorheen snapte ik die site niet, omdat ik alleen het object orientated deel zag. Dat lijkt echt een ander soort taal..., maar heel erg bedankt!
Pagina: 1