[Php&mysql] Get all

Pagina: 1
Acties:
  • 285 views

Acties:
  • 0 Henk 'm!

  • t1mmy
  • Registratie: Mei 2006
  • Laatst online: 14-08 16:39
Hai,

Ik heb even snel een vraagje :)
Ik wil alle 'banner' (partners) uit een database uitlezen, nu zit er standaard in dat script dat hij ze random uitleest, dit wil ik niet, wil gewoon een net lijstje onder elkaar.
Alleen ik krijg dat niet voor elkaar.
Voor jullie is het misschien erg makkelijk maar mij lukt het niet :P

Stukje script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
$sqlxsaff = sed_sql_query("SELECT * FROM $db_xsaff_aff WHERE aff_active='1' ORDER BY RAND() LIMIT 0,1");
$rowxsaff = sed_sql_fetcharray($sqlxsaff);

$t->assign("XSAFF_IMAGES", "
<br/>
<div class='centerall'>
    <a href='plug.php?e=xsaff&m=redirect&id=".$rowxsaff['aff_id']."'>
    <img src='plugins/xsaff/affimg/".sed_cc($rowxsaff['aff_img'])."' style='width:140px;height:80px;border:0px' alt='".sed_cc($rowxsaff['aff_desc'])."' />
    </a>
</div>
");

?>


Wat gaat er fout? :P

Acties:
  • 0 Henk 'm!

  • devguru
  • Registratie: April 2007
  • Laatst online: 19-09 11:19
ORDER BY name ASC

:-)

Edit

En: LIMIT 0,1 weghalen. Aangezien je ze allemaal uitgelezen wilt hebben :)

[ Voor 65% gewijzigd door devguru op 26-11-2008 15:19 ]


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Wat heb je zelf geprobeerd? Ik zie php, sql, html en css door elkaar staan. Kennelijk heb je de moeite niet genomen om te begrijpen wat er staat.

Er staat namelijk in die 10 regels duidelijk waar er random gesorteerd wordt. Dus doe eerst wat moeite en kom dan terug!

Acties:
  • 0 Henk 'm!

  • Flipke84
  • Registratie: Juli 2008
  • Laatst online: 09-11-2024
En omdat je nu meer dan 1 partner wilt weergeven moet je ook nog een while loopje toevoegen

Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 27-09 23:12
en afhankelijk van het template systeem dat je gebruikt ook nog per banner een nieuw block maken (of alles in één lange string gooien en dan die in de assign zetten.

en eigenlijk... 'even snel een vraagje'... geeft niet echt de indruk dat je zelf iets opgezocht hebt.. / ben het dan ook eens met mithras

[ Voor 32% gewijzigd door vriesdude op 26-11-2008 15:27 ]

/dev/null


Acties:
  • 0 Henk 'm!

  • t1mmy
  • Registratie: Mei 2006
  • Laatst online: 14-08 16:39
devguru schreef op woensdag 26 november 2008 @ 15:18:
ORDER BY name ASC

:-)

Edit

En: LIMIT 0,1 weghalen. Aangezien je ze allemaal uitgelezen wilt hebben :)
LIMIT 0,1 weghalen had ik al geprobeerd :) Dit werkte niet. Toen ik ORDER BY name ASC er in zetten werkte dat ook niet.
mithras schreef op woensdag 26 november 2008 @ 15:18:
[...]

Wat heb je zelf geprobeerd? Ik zie php, sql, html en css door elkaar staan. Kennelijk heb je de moeite niet genomen om te begrijpen wat er staat.

Er staat namelijk in die 10 regels duidelijk waar er random gesorteerd wordt. Dus doe eerst wat moeite en kom dan terug!
Het is een stukje wat de partners uit een database uitleest, dat html en css is zodat het goed weergegeven wordt.
Flipke84 schreef op woensdag 26 november 2008 @ 15:21:
En omdat je nu meer dan 1 partner wilt weergeven moet je ook nog een while loopje toevoegen
Had ik inderdaad nog niet aan gedacht, ga er is naar kijken.
vriesdude schreef op woensdag 26 november 2008 @ 15:25:
en afhankelijk van het template systeem dat je gebruikt ook nog per banner een nieuw block maken (of alles in één lange string gooien en dan die in de assign zetten.

en eigenlijk... 'even snel een vraagje'... geeft niet echt de indruk dat je zelf iets opgezocht hebt.. / ben het dan ook eens met mithras
Ze moeten gewoon onderelkaar komen te staan, in 1 blok.


Ik wil nog even benadrukken dat ik wel degelijk er naar gekeken heb, ik heb het 'even snel een vraagje' genoemd omdat ik dacht dat dit voor jullie een eitje zou zijn.

[ Voor 22% gewijzigd door t1mmy op 26-11-2008 15:29 ]


Acties:
  • 0 Henk 'm!

  • Mental
  • Registratie: Maart 2000
  • Laatst online: 20-10-2020
Enkel de SQL aanpassen gaat hier niet werken aangezien er op de 2e regel een functie wordt aangeroepen die uitgaat van een resultset met maar 1 row (1 banner).. als je dan opeens alle banners in je resultset hebt krijg je een warning op die functie en kan je blijven loopen wat je wilt maar het gaat niet werken.

Oplossing:
- sql aanpassen zoals hierboven vernoemd
- de functie sed_sql_fetcharray() dupliceren en aanpassen voor het gebruik van een resultset met meerdere rows.
- html code aanpassen en uitbreiden met een for / while loop die door je array heen loopt met banner gegevens erin (die de functie sed_sql_fetcharrays() bijv. teruggeeft aan de hand van de sql query)

Mocht dit allemaal te hoog gegrepen zijn zou ik in je naaste omgeving eens zoeken naar een php'er die dit voor je wil doen.


edit: kleine meningsverandering na vorige post :)

[ Voor 7% gewijzigd door Mental op 26-11-2008 15:30 ]


Acties:
  • 0 Henk 'm!

  • Flipke84
  • Registratie: Juli 2008
  • Laatst online: 09-11-2024
Je moet niet 1 ding aanpassen maar alles wat hierboven al is genoemd dus:
- while loopje toevoegen
- ORDER BY name ASC aanpassen
- LIMIT 0,1 weghalen

Acties:
  • 0 Henk 'm!

  • Mental
  • Registratie: Maart 2000
  • Laatst online: 20-10-2020
Flipke84 schreef op woensdag 26 november 2008 @ 15:30:
Je moet niet 1 ding aanpassen maar alles wat hierboven al is genoemd dus:
- while loopje toevoegen
- ORDER BY name ASC aanpassen
- LIMIT 0,1 weghalen
+ nog een functie aanmaken die meer dan 1 banner in een array aanlevert, wat nu niet het geval is (zie ook mijn vorige post).

Acties:
  • 0 Henk 'm!

  • t1mmy
  • Registratie: Mei 2006
  • Laatst online: 14-08 16:39
L4m0r schreef op woensdag 26 november 2008 @ 15:29:
Enkel de SQL aanpassen gaat hier niet werken aangezien er op de 2e regel een functie wordt aangeroepen die uitgaat van een resultset met maar 1 row (1 banner).. als je dan opeens alle banners in je resultset hebt krijg je een warning op die functie en kan je blijven loopen wat je wilt maar het gaat niet werken.

Oplossing:
- sql aanpassen zoals hierboven vernoemd
- de functie sed_sql_fetcharray() dupliceren en aanpassen voor het gebruik van een resultset met meerdere rows.
- html code aanpassen en uitbreiden met een for / while loop die door je array heen loopt met banner gegevens erin (die de functie sed_sql_fetcharrays() bijv. teruggeeft aan de hand van de sql query)

Mocht dit allemaal te hoog gegrepen zijn zou ik in je naaste omgeving eens zoeken naar een php'er die dit voor je wil doen.


edit: kleine meningsverandering na vorige post :)
Dankje dit is duidelijke taal, ik ga er mee bezig!
Flipke84 schreef op woensdag 26 november 2008 @ 15:30:
Je moet niet 1 ding aanpassen maar alles wat hierboven al is genoemd dus:
- while loopje toevoegen
- ORDER BY name ASC aanpassen
- LIMIT 0,1 weghalen
ORDER BY name ASC werkt dus niet, dan krijg ik een error terug.
De limit heb ik ook al weggehaald en de while loop ga ik nu mee bezig.

Acties:
  • 0 Henk 'm!

  • Flipke84
  • Registratie: Juli 2008
  • Laatst online: 09-11-2024
t1mmy schreef op woensdag 26 november 2008 @ 15:32:
ORDER BY name ASC werkt dus niet, dan krijg ik een error terug.
je moet name dan wel vervangen door de kolom waar je op wilt sorteren dus bijv: aff_id

Acties:
  • 0 Henk 'm!

  • Mental
  • Registratie: Maart 2000
  • Laatst online: 20-10-2020
Zoiets zou het dan moeten worden:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$sqlxsaff = sed_sql_query("SELECT * FROM $db_xsaff_aff WHERE aff_active='1' ORDER BY name");
$rowsxsaff = sed_sql_fetcharrays($sqlxsaff);

for ($i = 0; $i < count($rowsxsaff); $i++) {
$output .= "<br/>";
$output .= "<div class='centerall'>";
$output .= "<a href='plug.php?e=xsaff&m=redirect&id=".$rowsxsaff['aff_id']."'>";
$output .= "<img src='plugins/xsaff/affimg/".sed_cc($rowsxsaff['aff_img'])."' style='width:140px;height:80px;border:0px' alt='".sed_cc($rowsxsaff['aff_desc'])."' />";
$output .= "</a>";
$output .= "</div>";
}


$t->assign("XSAFF_IMAGES", $output);

?>


Enige wat hierin nog ontbreekt is het aanpassen van de functie sed_sql_fetcharray naar sed_sql_fetcharrays.

[ Voor 0% gewijzigd door Mental op 26-11-2008 15:35 . Reden: typo ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 13:16

Creepy

Tactical Espionage Splatterer

ik wil nog even benadrukken dat ik wel degelijk er naar gekeken heb, ik heb het 'even snel een vraagje' genoemd omdat ik dacht dat dit voor jullie een eitje zou zijn.
Dan wil ik nog even benadrukken dat dat echt niet de bedoeling is hier. Het is hier een forum en geen helpdesk om ff snel een oplossing te scoren. Als je PRG Beleid enHet algemeen beleid #topicplaatsen eens doorkijkt dan zie je waar een topicstart aan zou moeten voldoen.

Ik ga dit topic sluit. Ik gok dat je er wel uit gaat komen. Zo niet dan kan je een nieuw topic openen maar let daarbij wel het het PRG Beleid en de quickstart. Geen minstens aan wat je zelf al hebt geprobeerd en wat er niet mee lukte en waar jij denkt dat het mis gaat.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.