On 17-03-2011 18:46, Dennis Munding wrote:
> Hej Leif
> "Leif Neland" <leif@neland.dk> skrev i en meddelelse
> news:4d806aa5$0$23760$14726298@news.sunsite.dk...
>> Den 16-03-2011 01:53, Dennis Munding skrev:
>>> Hej
>>>
>>> Jeg har en lille nød, som jeg håber, nogen af jer kan hjælpe mig med at
>>> få knækket...
>>>
>>> 2 tables:
>>>
>>> #1:
>>> id
>>> kategori
>>> beskrivelse
>>>
>>> #2:
>>> billed_id
>>> kategori
>>> tekst
>>> pris
>>>
>>>
>>> Jeg vil gerne lave en "teaser" med max. 3 billeder fra hver kategori.
>>> Hver kategori skal opstilles på samme række med en overordnet
>>> beskrivelse (hentes fra table #1) som skrives yderst til højre:
>>>
http://tsbilpleje.dk/?side=salg
>>>
>>> Mit problem er midlertidig at jeg ikke helt har forstået løkker-i-løkker
>>> fidusen... :-/
>>> Som det fremgår af ovennævnte side, bliver hver kategori ikke udskrevet
>>> på én række, da hver kategorier opdelt således:
>>>
>>> Sort bil = kat #1
>>> Grå bil = kat #2
>>> Autocamper = kat #3
>>>
>>>
>>>
>>>
>>> Ethvert spark i den rigtige retning påskønnes.
>>>
>>
>> Uden at gå ind i html'en, så et lille spark:
>>
>> $conn = dbx_connect(DBX_MYSQL, $server, $database, $username,
>> $password, DBX_PERSISTENT)
>>
>> $res_kat=dbx_query($conn,
>> "select * from kat order by ...");
>>
>> foreach ($res_kat->data as $kat) {
>> printf("<h1>%s</h1>%s<br>",
>> $kat['kategori'],$kat['beskrivelse']);
>>
>> $res_bil=dbx_query($conn,"select * from bil where
>> kategori=".$kat['kategori']." order by random limit 3");
>> foreach($res_bil->data as $bil) {
>> printf("$s <img src='%s'>Pris: %d<br>",
>> $bil['tekst'],$bil['billede'],$bil['pris']);
>> }
>> }
>
> Mange tak for dit indspark.
> P.t. har jeg ikke mulighed for at benytte DBX - har ikke tjekket hvilke
> muligheder mit webhotel giver, men det gør jeg lige henover weekenden.
Behøver du skam heller ikek have adgang til.
du kan evt. erstatte dbx med mysql eller mysqli
>
> Umiddelbart (med tilrettelser så der bliver forbundet til db) har jeg
> ikke været i stand til at få det til at virke.
> Men jeg er sikker på, at det nok skal lykkedes ved et nærmere studie af
> dit eksempel.
Erstat din foreach løkken med
while($r = mysql_fetch_assoc($res_kat)) {
Så kan du lave en
var_dump($r);
Så kan du se hvad du har til rådighed. - Med fetch_assoc, så kan du
hente både via
$r[INDEX] og $r['RÆKKENAVN']
>
> Jeg har lige et tillægsspørgsmål...: %s - er det noget DBX-relateret??
> (synes ikke jeg har set det i denne sammenhæng før...)
Nej, det er printf (Lig mærke til F'et)
$word = 'Hello';
$num = 10;
printf("Et tal %d og et bogstaver %s", $num, $word);
Lidt det samme som
echo "Et tal " . $num . " og et par bogstaver " . $word;
Fordelen/ulempen! - Er at %s SKAL være en string, %d SKAL være et tal -
og hvis man smider noget forkert ind, så bliver det lavet om.
fx.
$num = '100'; // BEMÆRK DETTE ER EN STRENG
printf('Et tal %d', $num);
Vil virke fint nok, imens
$num = 'abcd';
printf('Et tal %d', $num);
Ikke vil virke.
printf('Et tal %1$d og det samme tal igen %2$d', 10);
Vil blive til
Et tal 10 og det samme tal igen 10
Læs meget mere på
http://www.php.net/manual/en/function.sprintf.php