[PHP/Mysql] Ordenen onder catagorieën

Pagina: 1
Acties:

  • Crazy-
  • Registratie: Januari 2002
  • Laatst online: 19:47

Crazy-

Best life ever

Topicstarter
Momenteel ben ik bezig met iets vrij simpels, maar toch kom ik er ff neit meer uit! :|

Doel: Verscheidene URLs onder catagorieën ordenen uit database

momenteel heb ik dit:

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
27
28
29
30
31
32
33
<?php
$sql_cat = "SELECT * FROM Links_Cat ORDER BY Cat_Naam DESC";
    $result_cat = mysql_query($sql_cat) or die(mysql_error());
    while ($cat_sql = mysql_fetch_array($result_cat)) {
    
?>
<table border='0' align='center' cellpadding='0' cellspacing='0' class='Midden'>
  <tr> 
    <td colspan="2" align='right' class='MiddenTop'><p><?php echo $cat_sql[Cat_Naam];?></p></td>
  </tr>
<?php
    
        $catid = $cat_sql[Cat_ID];

        for ($i = 0; $i < mysql_num_rows($result_cat); $i++) {

            $sql = "SELECT DISTINCT Adres, Beschrijving, Titel, L_Cat_ID FROM Links WHERE Controle = '1' AND L_Cat_ID = '$catid' ORDER BY Titel DESC";

                $result = mysql_query($sql) or die(mysql_error());
                while ($link_sql = mysql_fetch_array($result)) {

?>
  <tr> 
    <td width="175" class='Link'><a class='Midden' href='<?php echo $link_sql['Adres']; ?>'  target='_blank'><?php echo stripslashes($link_sql['Titel']); ?></a></td>
    <td width="198" class='Link'><?php echo stripslashes($link_sql['Beschrijving']); ?></td>
  </tr>
</table>
<br>
<?php
        } 
    }
}
?>

probleem alleen nu is, dat ie ook ALLE links 4x weergeeft onder een catagorie...maar ik komer niet uit hoe ik dit nu oplos, iemand id?

/edit/ na repley

probleem nog steeds :(

12,85kWp - ZB 7,5m2/400l - 5kW Pana H WP (CV&SWW) - 13,8kWh accu


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:34
Je haalt te veel gegevens op, da's al een punt.
ipv select *, selecteer eens enkel de nodige velden, dus:
code:
1
select links.Titel, links.Beschrijving


Zet er ook eens een DISTINCT voor, dan krijg je alleen unieke rijen terug. Dus als een bepaalde combinatie Titel. beschrijving meerdere keren zou geselecteerd worden, dan krijg je die maar 1x te zien.
code:
1
SELECT DISTINCT titel, beschrijving

https://fgheysels.github.io/


  • DiNo!
  • Registratie: Juni 2000
  • Laatst online: 17:00
whoami schreef op 29 oktober 2002 @ 19:22:
[...]
Zet er ook eens een DISTINCT voor, dan krijg je alleen unieke rijen terug. Dus als een bepaalde combinatie Titel. beschrijving meerdere keren zou geselecteerd worden, dan krijg je die maar 1x te zien.
code:
1
SELECT DISTINCT titel, beschrijving
code:
1
SELECT DISTINCT(titel) as titel, beschrijving
al geprobeerd? :9

https://github.com/atoomnetmarc/


  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

Die hele for-loop is hier niet nodig.

Dus alleen die regel met 'for' en de sluitaccolade weghalen, zou het probleem op moeten lossen.

  • Crazy-
  • Registratie: Januari 2002
  • Laatst online: 19:47

Crazy-

Best life ever

Topicstarter
en wrm dan wel niet als ik vragen mag ? :)

PHP:
1
$sql = "SELECT DISTINCT(Link_ID) Link_ID, Adres, Beschrijving, Titel, L_Cat_ID FROM Links WHERE Controle = '1' AND L_Cat_ID = '$catid' ORDER BY Titel DESC";


wat ik ook doe, die distinct doet niks? :|

12,85kWp - ZB 7,5m2/400l - 5kW Pana H WP (CV&SWW) - 13,8kWh accu


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:34
DiNo7 schreef op 29 oktober 2002 @ 19:38:
[...]


code:
1
SELECT DISTINCT(titel) as titel, beschrijving
al geprobeerd? :9


Dat werkt niet. Een DISTINCT werkt op de gehele 'row', en niet op 1 veld.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:34
CIOMrCrazy schreef op 29 oktober 2002 @ 19:41:
en wrm dan wel niet als ik vragen mag ? :)


wat ik ook doe, die distinct doet niks? :|


Mocht je nu eens zeggen wat je terug krijgt, en wat je wilt terugkrijgen, dan zou men je al beter kunnen helpen.

https://fgheysels.github.io/


  • Crazy-
  • Registratie: Januari 2002
  • Laatst online: 19:47

Crazy-

Best life ever

Topicstarter
opgelost :)

ipv
PHP:
1
for ($i = 0; $i < mysql_num_rows($result_cat); $i++) { }

heb ik nu
PHP:
1
for ($i = 0; $i < mysql_num_rows($result_cat); $i++)


het werkt :) bedankt (ook mag ik dat niet doen)

12,85kWp - ZB 7,5m2/400l - 5kW Pana H WP (CV&SWW) - 13,8kWh accu


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 17:07
Je ook nog een JOIN , LEFT cq een RIGHT JOIN, kunnen proberen/overwegen. Dat heeft mij wel geholpen toen ook ik een dergelijk probleem had.

http://www.mysql.com/doc/en/JOIN.html voor meer info over JOINs in MySQL.

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

CIOMrCrazy schreef op 29 oktober 2002 @ 19:41:
en wrm dan wel niet als ik vragen mag ? :)
Je haalt eerst alle categorieen op, dan komt er een while loop die alle categorieen doorloopt. Vervolgens heb je een for-loop die het aantal categorieen doorloopt. In die for loop worden alle links in de categorie van de eerste while loop mbv een (andere) while loop afgedrukt.

Uhm...dit is heel vaag uitgelegd :P Kijk je script nog maar 'ns door :)

[ Voor 0% gewijzigd door R_W op 29-10-2002 19:48 . Reden: typo ]


  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

CIOMrCrazy schreef op 29 oktober 2002 @ 19:46:
opgelost :)

ipv
PHP:
1
for ($i = 0; $i < mysql_num_rows($result_cat); $i++) { }

heb ik nu
PHP:
1
for ($i = 0; $i < mysql_num_rows($result_cat); $i++)


het werkt :) bedankt (ook mag ik dat niet doen)
Gewoon heel dat for eruit slopen, wat je nu doet is meerdere keren hetzelfde aan $sql toekennen.

  • Crazy-
  • Registratie: Januari 2002
  • Laatst online: 19:47

Crazy-

Best life ever

Topicstarter
ja ik ben er achter :) php kan ik wel goed, maar lopgica heb ik soms niet echt :| niet goed, i know....maar het resultaat is altijd wel goed :)

12,85kWp - ZB 7,5m2/400l - 5kW Pana H WP (CV&SWW) - 13,8kWh accu

Pagina: 1