Waarom maar 1 result

Status
Niet open voor verdere reacties.

gast0450

Gebruiker
Lid geworden
8 jul 2006
Berichten
188
Hoi Allemaal,

Ik heb hier een query;
PHP:
$result1 = mysql_query ( "SELECT
weapon.name
FROM
weapon
WHERE
weapon.type =  'dagger'");
 
$row1 = mysql_fetch_assoc ( $result1 );
 
echo "$row1[name] <br /> <br />";
Deze geeft in navicat zelf een hele lijst aan, maar op de website alleen het eerst resultaat.

Wat moet er hier aan aangepast worden wil ik heel de lijst laten zien?

Alvast bedankt
 
Laatst bewerkt door een moderator:
Hallo gast0450,

Je moet een lus maken op deze manier:

PHP:
while ($row = mysql_fetch_assoc ( $result1 )) {
	echo $row["name"] . '<br /> <br />';
}
 
Laatst bewerkt door een moderator:
Hoi Peter,

Nu werkt het inderdaad wel.

zie Hier

Nu iets geavanceerder :P elk result wat daar word weergegeven zit ook een gfxid ( plaatje ) aan gekoppeld. Al die plaatjes heb ik in een map staan, maar hoe kan ik de goede voor het goede result weergeven?
 
Hallo gast0450,

Op deze manier, $row["plaatje"] plaatje is de naam van de kolom die de bestands naam van de plaatjes bevat en plaatjesfolder is het pad van de plaatjes folder.

PHP:
while ($row = mysql_fetch_assoc ( $result1 )) {
	echo $row["name"] . '<br /> <br />';
	echo '<img src="plaatjesfolder/' . $row["plaatje"] . '" />';
}
 
Laatst bewerkt door een moderator:
moet ik dan ook niet die query aanpassen? want op de regel van elk wep die hij aangeeft, staat in de database dus een gfx id achter, en die moet dan gekoppeld worden aan het plaatje in de images map en die moet dan weergegeven worden voor de naam..
 
Ja klop je moet dan ook de query aanpassen.
PHP:
$result1 = mysql_query ( "SELECT
	name, gfxid
	FROM
	weapon
	WHERE
	type = 'dagger'");

In de tabel heb je dan bijv.
HTML:
name			gfxid				type
Orcish Dagger	OrcishDagger.jpg	dagger
Dice Dagger		DiceDagger.jpg		dagger

Het plaatje OrcishDagger.jpg zet je dan in de folder: plaatjesfolder
Dit mag ook bijv. images/dagger/ oid zijn.
PHP:
echo '<img src="images/dagger/' . $row["gfxid"] . '" />';

Dit levert dan als html op:
HTML:
<img src="images/dagger/OrcishDagger.jpg" />
 
het wil niet echt werken, krijg een foutmelding

Dit is wat ik nu heb;

PHP:
$result1 = mysql_query ( "SELECT
    name, gfxid
    FROM
    weapon
    WHERE
    type = 'dagger'");
 
while ($row = mysql_fetch_assoc ( $result1 )) {
    echo $row["name"] . '<br /> ';
	echo '<img src="images' . $row["gfxid"] . '" />';
}

?>
 
welke foutmelding?
volgensmij is dit het probleem:
PHP:
while ($row = mysql_fetch_assoc ( $result1 )) {
    echo $row["name"] . '<br /> ';
    echo '<img src="images' . $row["gfxid"] . '" />';
}
je bent volgensmij de bij de img een slash vergeten het moet worden:

while ($row = mysql_fetch_assoc ( $result1 )) {
echo $row["name"] . '<br /> ';
echo '<img src="images/' . $row["gfxid"] . '" />';
}
 
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in

De / heeft niet geholpen

Edit:

Ik keek even de query na, die was niet goed, moest zijn;

SELECT
weapon.name,
weapon.invgfx
FROM
weapon

Komt nu wel overal een blokje voor wat normaal een afbeelding is maar nog geen afbeelding zelf.. ook word de 1e overgeslagen en heb ik onderaan een afbeelding over.

Zie Hier
 
Laatst bewerkt:
Sorry maar ik was effe boodschappen doen.

Ik zie nu plaatjes bij op je site. Dat het plaatje op de volgende regel staat komt door '<br /> ' in echo $row["name"] . '<br /> ';
 
Wissel de twee regels in de while-lus eens om. Dus eerst de "echo '<img etc" en dan de "echo $row["name"] etc".

Klopt het trouwens dat alle plaatjes dezelfde zijn?
 
Nee, die functie werkte niet dus ik heb om te testen de img src direct gelinkt naar een afbeelding
 
Ik heb het bij mij getest het werkt gewoon.
De folder images moet zoals het er nu staat een subfolder van de folder zijn waar het PHP script in zit.
 
Je probleem is dat je nog een sub folder hebt dus je krijgt dit:
echo '<img src="images/gfx/' . $row["gfxid"] . '" /><br />'
 
omgedraaid ziet het er wel goed uit. Maar nu de vraag wat betreft de afbeeldingen.

Hoe zoekt hij in de img map automatisch de goede afbeelding?
 
het zijn ook nog eens png afbeeldingen, moet je dat nergens aangeven?

Een voorbeeld van elven dagger, in de database is het alleen gfxid = 33 zonder toevoeging o.i.d plaatje in de img map heet 33.png
 
Als het altijd png's zijn kun je het volgende doen:
echo '<img src="images/gfx/' . $row["gfxid"] . '.png" /><br />';
Maar als het verschillende type plaatjes zijn moet de extensie mee in de tabel.
 
Laatst bewerkt:
Alle afbeeldingen zijn .png dus dit is een goede toevoeging.

Aangezien ik de regels nu ook heb omgedraaid heb ik ook die enter eruit moeten halen, alles word nu netjes getoond, maar zonder afbeelding.

Dit hebben we tot nu toe:

PHP:
$result1 = mysql_query ( "SELECT
    weapon.name, weapon.invgfx
    FROM
    weapon
    WHERE
    type = 'dagger'");
 
while ($row = mysql_fetch_assoc ( $result1 )) {
    
	echo '<img src="images/gfx/' . $row["gfxid"] . '.png" />';
	echo $row["name"] . '<br /> '; 
	}

zoals je ziet is de query weapon.invgfx, ik denk dus dat onderaan in de echo na $row gfxid dat dat verkeerd staat en dat het daarom niet werkt.

Ga ik even proberen

Edit:

Dat was inderdaad het enige probleem.

Ben nu alle afbeeldingen aan het uploaden maar dit werkt iig.

Nu komt de laatste stap van het projectje en dat is dat die img nu ook clickable moet zijn en dat je dan op een pagina komt waar je informatie van het wapen kunt vinden. Dit moet toch ook te doen zijn met 1 standaard pagina?
 
Laatst bewerkt:
Ja dat is het probleem. Je kunt de html code controleren die het script genereerd door in de webbrowser "Bron weergeven" te gebruiken en dan zie meestal al wat er fout is.
 
Nu moeten dus al die afbeelding clickable worden en dan moeten ze op een volgende pagina komen waar informatie over het wapen komt.

Dus bijvoorbeeld:

Name: Dagger
Type: Dagger
Min Safe Enchant: 6
etc etc. Hoe ik die gegevens uit de database moet halen lukt me denk ik wel, dat is gewoon met een query die ik zelf kan opbouwen vanuit navicat.

Maar hoe maak ik ze clickable en hoe komen ze dan op een algemene pagina waar die info op komt?

Zo ziet het er op de website zelf uit. Klik ( alleen 1e e categorieën pas gedaan )
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan