Waarom maar 1 result

Status
Niet open voor verdere reacties.
Je kunt dat bijv zo doen:
PHP:
echo '<a href="overzicht.php&weapenid=' . $row["name"] . '" <img src="images/gfx/' . $row["invgfx"] . '" /></a>';

Beter is het ipv met de naam met een unieke id te werken ik weet niet of invgfx een uniek nummer bevat.

overzicht.php
PHP:
<?php
	if (isset($_GET['weapenid']))
	
		$query = "SELECT * FROM weapon WHERE name = '" . $_GET['weapenid'] . "'";
		$result1 = mysql_query($query);
	
		....
?>
 
Uniek.. ja elk wapen heeft natuurlijk een andere afbeelding.

Maar het komt wel een enkele keer voor dat er 1 dubbel in zit.

Elk weapon heeft wel een eigen unieke id

dus
1 = elven dagger
2 = orcisch dagger

en zo gaan die id's door tot misschien wel 9999999
 
Sorry, ik weet niet wat ik moet doen.

Sta nu al zo ver, maar volgens mij moet ik op de manier hoe we het nu hebben gedaan voor elk item een aparte pagina maken, toch?

Of bestaat er nu iets waarmee die afbeelding clickable kan worden naar een algemene pagina en dat er dan automatisch van dat item gegevens opgehaald worden?
 
Je hoeft niet voor elke wapen een aparte pagina te hebben.

Zoals ik al aangegeven had maak je het plaatje clickable. Ik weet niet de kolomnaam van de weapon id maar bijv weaponid.

PHP:
 echo '<a href="overzicht.php&weaponid=' . $row["weaponid"] . '" <img src="images/gfx/' . $row["invgfx"] . '" /></a>';

De universele pagina is overzicht.php deze filtert de data van het betreffende weapon uit de database tabel met gebruik making van de weaponid ($_GET['weaponid']) en geeft de betreffende data op de pagina weer.

Ik ben vanavond niet meer online, ik kan je morgen weer verder helpen.
 
Komt goed, alvast heel erg bedankt voor de geboden hulp.

Ik heb de code aangepast, ook de query weer moeten aanpassen.

Het werkt nu dat hij clickable is en je komt automatisch op de overzichtspagina met het bijbehorende item id, morgen of overmorgen of wanneer je tijd hebt dan even uitleggen welke content ik op die pagina moet plaatsen en dan komt het zeker goed :)

plaatjes werken overigens weer niet meer, kan niet vinden waar hem dat in zit

Edit:

Toch nog gevonden, de extentie.png moest er weer bij
 
Laatst bewerkt:
Klopt bij mij stond de .png er niet bij omdat ik als plaatjes jpg's heb gebruik en de extensie ook in de database heb staan. Maar je hebt het zelf al ontdekt, perfect.

We hebben nog een ander probleem als je de uitvoer bekijkt van de pagina voldoet deze niet aan de HTML standaard. Dit moeten we eerst oplossen want dat heb je ook voor andere pagina's nodig. Voor een beter overzicht van de html code en er maar een beperkte php code in zit kunnen het het beste zo doen:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Dagger overzicht</title>
	</head>
	 
	<body>
<?php

// je database connectie hier
// ...

$result1 = mysql_query ( "SELECT
    name, gfxid, weaponid
    FROM
    weapon
    WHERE
    type = 'dagger'");
 
while ($row = mysql_fetch_assoc ( $result1 )) {
    echo $row["name"];
    echo '<a href="daggerdetail.php&weapenid=' . $row["weaponid"] . '" <img src="images/gfx/' . $row["gfxid"] . '.png" /></a>';
}

?>
	</body>
</html>

Je moet bovenstaand php script aanpassen aan je database tabel enz.

Inprincipe kun je ook de html code met echo genereren. Bijv: echo '<html xmlns="http://www.w3.org/1999/xhtml">';

Daarna gaan we met het andere php script verder om de details weer te geven.
 
Ok, het is me gelukt om de nieuwe code werkend te krijgen.

Wat is de volgende stap? :)

Ik kan het niet vaak genoeg herhalen maar echt heel erg bedankt
 
De volgende stap is het script dat aangeroepen wordt als je op het plaatje klikt. In de code hierboven daggerdetail.php, maar je zou het ook weapondetail.php kunnen noemen.

Hier is de code waar je mee kunt gaan experimenteren, ik heb de het script niet getest.

De id die meegegeven wordt met ?weaponid= is in het beschikbaar in de variabele $_GET['weapenid'].

PHP:
<?php

// je database connectie hier
// ...

$weaponName = '';
$weaponType = '';
$weaponImageId = '';
// enz.

if (isset($_GET['weapenid'])) {
	$result = mysql_query ( "SELECT
		*
		FROM
		weapon
		WHERE
		weapenid = '" . $_GET['weapenid'] . "'");

	if ($result) {
		if ($row = mysql_fetch_assoc( $result )) {
			$weaponName = $row['name'];
			$weaponType = $row['type'];
			$weaponImageId = $row['gfxid'];
		}
	}
}
 
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Weapon <?php echo $weaponName ?></title>
    </head>
     
    <body>
		Name: <?php echo $weaponName ?><br />
		Type: <?php echo $weaponType ?><br />
		<img src="images/gfx/<?php echo $weaponImageId ?>.png" alt="<?php echo $weaponName ?>"/><br />
	

    </body>
</html>

Als je vragen hebt of iets niet duidelijk is dan hoor ik het wel.
 
Code blijkt gewoon te werken, maar is alleen direct bereikbaar en niet via het klikken op de afbeelding.

Je word dan verwezen naar weapondetail.php&weaponid= xxx

Die pagina bestaat natuurlijk niet, maar wel een algemene pagina weapondetail.php

Enig idee hoe dit op te lossen is?
 
Met bijv. weapondetail.php&weaponid=10 wordt niet een pagina met deze naam aangesproken maar de weapondetail.php pagina en dat wat achter de ? wordt als data aan het weapondetail.php meegeven. Als id 10 bestaat in je tabel werkt dit ook als je dit http://.../weapondetail.php&weaponid=10 als adres in de browser in tik voor moet natuurlijk het pad ingevuld worden en er geen fout in het script zit.
Ik heb net gekeken maar je hebt het nu niet online staan. Je kunt met bron weergeven kijken wat er bij <a href gegenereerd wordt daar zou zo iets moeten staan <a href="weapondetail.php&weaponid=10">
 
Hij staat hier online: Klik

Ik zal nog even kijken of ik er aan uit kom.

Als je op de 1e van dagger klikt kom je wel op een pagina uit maar een pagina die dus niet bestaat.Misschien omdat het niet weapon id is? maar gewoon item_id

Edit:

Heb even bij de bron gekeken en dit word gegenereerd: <a href="weapondetail.php&item_id=2"

Zoals je ziet heb ik weaponid ook al geprobeerd aan te passen naar item_id en dat mocht ook niet werken

2e Edit:

Ik heb de query ook nog aangepast maar ook dit mag niet helpen.

Op de foutpagina kan ik deze fout overigens zien in de broncode

<H1>Not Found</H1>
The requested URL /dataview/weapondetail.php&amp;item_id=1 was not found on this server.


Hij zet er &amp tussen, is dat normaal?
 
Laatst bewerkt:
Sorry mijn fout, ik heb een typo in het overzicht script staan het & moet een ? zijn dus zo: weapondetail.php?item_id=2

echo '<a href="daggerdetail.php?item_id=' . $row["weaponid"] . '" <img src="images/gfx/' . $row["gfxid"] . '.png" /></a>';
 
Perfect!! Dat was inderdaad het enige foutje.

Is het nu ook mogelijk om die afbeelding wat groter te tonen? Dus ipv nu 1 bij 1 ofzo naar 2 bij 2?

Ik wil ongeveer dit idee krijgen: Klik

Edit:

Ik zal nu zelf proberen het script uit te breiden en meer gegevens laten tonen.

Edit:
Het is me gelukt om alle info weer te geven die ik wil, ik wilde het echter allemaal gaan implementeren in php fusion, dat is wat ik gebruik voor mijn website en dan loop ik toch tegen een probleem aan, wat voorheen wel allemaal kon.

Ik moet daar telkens een custom page maken en daar naartoe linken, maar dat komt niet meer uit wanneer er op de afbeelding word geklikt, want ik kan dan niet linken naar weapondetail.php&itemid bla bla, maar ik moet daar linken naar de custom page met de content van weapon detail. en dan werkt het dus niet meer...

Denk ook niet dat dit op te lossen is.

Dus het word of een nieuwe pagina of ...
 
Laatst bewerkt:
Wat de afbeelding betreft, je kunt een maat opgeven. Je plaatjes zijn nu 32x32 als aan img width en height toevoegt kun je ze groter laten weergeven alleen de kwaliteit wordt minder. Voorbeeld: <img src="images/gfx/1317.png" width="64" height="64" />

Ik gebuik fusion niet en weet niet hoe je het daar met PHP moet doen. Een andere mogelijkheid is dat je eerst met fusion html pagina's maakt met enkele vaste items en die later met de hand dat deel vervangt door de PHP code, zodat de item data uit de database komt.

Is alleen lastig als je weer met fusion de pagina wil wijzigen.
 
Ik ben ook nog met iemand op msn bezig daar heb ik het wat beter kunnen uitleggen als hier.

Maar het komt erop neer dat normaal het plaatje clickable is naar weapondetail.php en dan haalt hij daar automatisch de info van de goede id naar boven, maar in php fusion moet ik een custom page maken met de content van weapondetail.php en vervolgens het plaatje linken naar die custom page.

Als ik dan op die pagina aankom is hij natuurlijk wel die id kwijt van het wapen en geeft hij geen info meer aan.

Nu was de oplossing om achter die custom page dus viewpage.php?page_id=12 daarachter weer &item_id=4 toe te voegen, op die manier krijg ik zoals ik net zag weer wel info op die pagina.

De vraag is nu echter is dat ook automatisch te doen want anders moet ik alsnog elk plaatje apart een exacte link geven met de goede itemid
 
Het is gelukt!!

We hebben ook de code nog een klein beetje aangepast waardoor ik nu niet voor elk type een aparte pagina hoef te maken.

Dit aangepast:

FROM
weapon
WHERE
type = '" . mysql_real_escape_string( $_GET['weapontype']) . "'");

Waar er eerst alleen type dagger stond nu deze code
 
Ik heb net fusion geinstalleerd en het werkt bij mij als je de php code van het overzicht de link aanpast
echo '<a href="viewpage.php?page_id=2&item_id=' . $row["weaponid"] enz.
Je moet de de page_id wijzigen naar de id van jou detailpagina.
 
Dit hebben we tot nu toe gemaakt: Klik

Usable by op de weapon detail heb ik nog niet laten invullen omdat ik even niet weet hoe ik dat het beste kan doen.

Er zijn namelijk 5 classes, een knight, prince, elf, dark elf, en wizard.

Als ze hem kunnen gebruiken staat er in de database alleen een 1 bij. Dus ik weet even niet hoe ik dat het beste kan laten weergeven

Maar ik vind het al helemaal tof nu. We hebben maar 3 pagina's en toch kunnen we al zoveel weergeven op de website.

Nu nog 1 voor armors en armor details en we zijn klaar.

Het is misschien wel niet zo mooi als op www.lineage15.com maar ok. Ben blij dat ik het in ieder geval al heb
 
Dit is toch geweldig wat jullie tot nu toe gemaakt hebben. Jullie kunnen dit nu verder uitbouwen en verbeteren.

"Als ze hem kunnen gebruiken staat er in de database alleen een 1 bij. Dus ik weet even niet hoe ik dat het beste kan laten weergeven" Je kunt met if checken of de waarde 1 is en afhankelijk daarvan bijv een andere kleur tekst oid gebruiken.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan