PHP/MySQL webpagina's maken

Status
Niet open voor verdere reacties.

Skane

Nieuwe gebruiker
Lid geworden
31 mrt 2012
Berichten
2
Goedenavond,

Ik ben bezig met het maken van een deel van mijn website en de bedoeling daarvan is als volgt.
1. Een MySQL database met informatie over verschillende aspecten van een object. Laten we als voorbeeld een een auto nemen. Ik voeg dan informatie toe zoals de kleur, bouwjaar, aantal kilometers etc.
Deze wil ik vullen via een beveiligde pagina op mijn site. Op dit moment heb ik al een pagina waar ik informatie in kwijt kan waarna ik deze stuur naar de database. Dit werkt prima.

Nu heb ik twee vragen.
1. Nu zet ik alleen meer informatie in de database. Ik wil dat er tegelijkertijd een pagina wordt aangemaakt op mijn website. Kan iemand uitleggen hoe ik dit het best kan doen of mij verwijzen naar een tutorial?
2. Behalve informatie in tekstuele vorm wil ik er ook een afbeelding aan toevoegen. Is het slim om deze in de MySQL-database te zetten?

Voorbeeld zoals ik het zou willen hebben.
Pagina: toevoegen.php
Formulier
Naam: [Peugeot 107]
Kleur: [Zwart]
Bouwjaar: [2007]
Etc.
[Verzenden]

Als ik dan op verzenden druk dat er dan automatisch op mijnwebsite.nl/autos/peugeot-107.php wordt aangemaakt met de informatie hierboven.
Ik hoop dat iemand mij hierbij kan helpen.

Met vriendelijke groet,

Skåne

ps. mijn website gaat niet over auto's, heb dit enkel als voorbeeld gebruikt.
 
Laatst bewerkt:
Even voor je beeld je maakt niet steeds een pagina aan voor elke aparte auto. Zo zie ik het niet voor me in in ieders geval.

Ik neem ook even de auto als voorbeeld voor jou gemak:

Je maakt een formulier op je beveiligde pagina met de voglende gegevens:
Naam: [Peugeot 107]
Kleur: [Zwart]
Bouwjaar: [2007]
Etc.
[Verzenden]

Deze laat je opslaan in de database.

je maakt nu een pagina aan buiten je beveiligde pagina waarin je de database aan roept. Je laat nu op je pagina alle auto zien. al deze regels geef je een id mee, namelijk het id van het record. dit hebben we namelijk weer nodig om de specifieke informatie op te vragen van de des betreffende auto.

het bestandje zal er dan ongeveer zo komen uit te zien:
PHP:
<?php

include 'connectdb.php'; 

$query = "SELECT * FROM auto";
$result = mysql_query($query);

echo"
<table>
<tr>
<td>Naam</td>
<td>bouwjaar</td>
<td>kleur</td>
<tr>
<form>
";

while ($row = mysql_fetch_array($result)) {
echo"
<tr>
    <td>". $row['naam']."</td>
    <td>". $row['bouwjaar']."</td>
    <td>". $row['kleur']."</td>
<td><input type='submit' name='bekijkauto' value='Lees meer /'>
<input type='hidden' name='id' value='$row[id]' />
</td>
<tr>";
}
echo "</form></table>";

// je hoeft geen ?> te zetten als het einde van het bestand php is


Je kun op de zelfde pagina blijven doormiddel van function te gebruiken of je gaat naar een andere pagina en verzorgt dat de dat de waarden die je verstuurd als je op lees meer drukt daar ook aankomen waarna je daar een sql laat uitvoeren wat er dan als volgt uit komt te zien:

PHP:
<?php

$id= $_POST['id'];

$query = "SELECT * FROM auto where id='$id' ";
$result= musql_query($query);

$row = mysql_fetch_row($result);

// je hebt nu twee opties om de gegevens te laten tonen.

$kleur= $row['kleur'];

// of meteen de row in html zetten. 

// dit doe je dan door echo $row['kleur'];

Persoonlijk zou ik voor $kleur gaan omdat dit netter is voor je script.

Je kunt het beste de eerste zodat je de html buiten de php kan zetten dat is het beste!

je krijgt dan de volgende code:

Code:
<?php
//indien dit een gehele nieuwe pagina is moet je include 'connectdb.php';  er weer in zetten

$query = "SELECT * FROM auto where id='$id' ";
$result= musql_query($query);

$row = mysql_fetch_row($result);

$naam= $row['naam'];
$kleur= $row['kleur'];
$bouwjaar= $row['bouwjaar'];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
		<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<titel>Auto <?php echo $naam ?></titel>
</head>
<body>
Gegevens auto:<br>
naam:<?php echo $naam; ?> <br>
Bouwjaar: <?php echo $bouwjaar; ?><br>
Kleur: <?php echo $kleur; ?><br>
</body>
</html>
 
Laatst bewerkt:
Bedankt klaaspeter! Dat is precies wat ik zoek. Het enige waar ik nu nog tegenaan loop zijn de urls. De dynamische urls zien er nu zo uit (weer even met het voorbeeld van die auto):
mijndomein.nl/autos/personenautos/database.php?id=1&naam=Peugeot%107

Terwijl ik dit voor ogen heb:
mijndomein.nl/autos/personenautos/peugeot-107.php

Ik weet dat je van die url rewrite-mogelijkheden hebt binnen een .htacces maar ben er niet zeker van of dit de beste manier is. Daarnaast hou ik dan die hoofdletter in Peugeot wat ook niet erg handig is. Dat zo ik eventueel kunnen oplossen door in mijn MySQL-database een kolom aan te maken waarin dan peugeot-107 komt te staan maar dat is wellicht wat omslachtig.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan