Meerdere id's weergeven onderelkaar
Hallo allemaal, ik ben bezig met php en sql te leren en ik had eigenlijk een vraag.
ik ben bezig met een pagina, waar ik een lijstje wil hebben met de mensen die bij ons op de afdeling werken.
Dus een foto, naam, achternaam, email en telefoonnummer. Nu ben ik zo'n beetje bezig geweest en kom wel een eind maar ik kom wat moeilijkheden tegen:
Hoe kan ik ervoor zorgen dat dit een beetje klopt?
Ik heb een design waarin ik de naam, achternaam enzo wil terug laten komen en nu is nummer 1 mij gelukt?
Maar is er iets dat ik de hele database kan opvragen opdeze manier?? zonder dat ik handmatig bij Where id='1' moet invullen?
Groeten Gijs
Graag in het vervolg bij code, [code] [/code] tags gebruiken. [/modedit]
ik ben bezig met een pagina, waar ik een lijstje wil hebben met de mensen die bij ons op de afdeling werken.
Dus een foto, naam, achternaam, email en telefoonnummer. Nu ben ik zo'n beetje bezig geweest en kom wel een eind maar ik kom wat moeilijkheden tegen:
Hoe kan ik ervoor zorgen dat dit een beetje klopt?
Ik heb een design waarin ik de naam, achternaam enzo wil terug laten komen en nu is nummer 1 mij gelukt?
Maar is er iets dat ik de hele database kan opvragen opdeze manier?? zonder dat ik handmatig bij Where id='1' moet invullen?
Groeten Gijs
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php $connectie = mysql_connect("localhost","root","wachtwoord");
if(!$connectie){
die("Database faalt: " . mysql_error());
}
$db_select = mysql_select_db("testdb",$connectie);
if (!$db_select) {
die("Database faalt: " . mysql_error());
}
?>
<html><head><title>Test</title></head><body>
<?php $commando="SELECT *
FROM `testdb`
WHERE id='1'";
$resultaat=mysql_query($commando);
$array=mysql_fetch_array($resultaat);
echo $array['id'];
?>
<tr>
<td>Naam</td>
<td><?php echo $array['naam'];?></td>
<td>Achternaam</td>
<td"><?php echo $array['achternaam']; ?></td>
<td>Telefoon</td>
<td><?php echo $array['telefoon']; ?></td>
</tr>
<?php mysql_close($connection); ?></body></html>
if(!$connectie){
die("Database faalt: " . mysql_error());
}
$db_select = mysql_select_db("testdb",$connectie);
if (!$db_select) {
die("Database faalt: " . mysql_error());
}
?>
<html><head><title>Test</title></head><body>
<?php $commando="SELECT *
FROM `testdb`
WHERE id='1'";
$resultaat=mysql_query($commando);
$array=mysql_fetch_array($resultaat);
echo $array['id'];
?>
<tr>
<td>Naam</td>
<td><?php echo $array['naam'];?></td>
<td>Achternaam</td>
<td"><?php echo $array['achternaam']; ?></td>
<td>Telefoon</td>
<td><?php echo $array['telefoon']; ?></td>
</tr>
<?php mysql_close($connection); ?></body></html>
Graag in het vervolg bij code, [code] [/code] tags gebruiken. [/modedit]
Gewijzigd op 14/04/2011 17:08:09 door Bas IJzelendoorn
Zou je in het vervolg code tags willen gebruiken en niet 6x een identiek topic willen openen. De overige topics heb ik verwijderd.
Ontopic:
je zou eens naar de functie while() kunnen kijken
Voor het zetje in de goede richting de while loop zet je om regel 19 en 26 heen.
TIP 1: gebruik geen `backticks` in je sql query in PHP.
TIP 2: gebruik geen * in je query maar enkel de velden welke je nodig hebt (naam,achternaam,telefoon)
Ontopic:
je zou eens naar de functie while() kunnen kijken
Voor het zetje in de goede richting de while loop zet je om regel 19 en 26 heen.
TIP 1: gebruik geen `backticks` in je sql query in PHP.
TIP 2: gebruik geen * in je query maar enkel de velden welke je nodig hebt (naam,achternaam,telefoon)
Gewijzigd op 14/04/2011 17:12:39 door Bas IJzelendoorn
SELECT ..... FROM ...... (en geen WHERE)
Dan met een while() lezen.
while($row = mysql_fetch_assoc($result))
{
// echo
}
Dan met een while() lezen.
while($row = mysql_fetch_assoc($result))
{
// echo
}
sorry bas,
santhe is dat hetzelfde als: while ($row = mysql_fetch_array($result)) ?
ik doe ergens iets verkeerd. zou het dan aan de "" liggen ?
santhe is dat hetzelfde als: while ($row = mysql_fetch_array($result)) ?
ik doe ergens iets verkeerd. zou het dan aan de "" liggen ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php $commando="SELECT *
FROM `testdb`
WHERE naam, achternaam, telefoonnummer";
$resultaat=mysql_query($commando);
while ($row = mysql_fetch_array($result)); {
echo
<tr>
<td>Naam</td>
<td>[code]<?php echo $array['naam'];?></td>
<td>Achternaam</td>
<td"><?php echo $array['achternaam']; ?></td>
<td>Telefoon</td>
<td><?php echo $array['telefoon']; ?></td>
</tr>
};
?>
FROM `testdb`
WHERE naam, achternaam, telefoonnummer";
$resultaat=mysql_query($commando);
while ($row = mysql_fetch_array($result)); {
echo
<tr>
<td>Naam</td>
<td>[code]<?php echo $array['naam'];?></td>
<td>Achternaam</td>
<td"><?php echo $array['achternaam']; ?></td>
<td>Telefoon</td>
<td><?php echo $array['telefoon']; ?></td>
</tr>
};
?>
Je controleert nergens of je query wel gelukt is, en ik kan je vertellen dat dat niet het geval is. De WHERE clausule van je query klopt namelijk niet.
Controleer dus altijd of je query wel gelukt is:
Toevoeging op 14/04/2011 17:34:27:
ps. Uiteraard ontbreken bij je echo ook de quotes nog...
Controleer dus altijd of je query wel gelukt is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = "SELECT ... (rest van je query)";
$result = mysql_query($sql);
if($result == false) {
trigger_error(mysql_error().' <br/>In query: '.$sql);
}
else {
while($row = mysql_fetch_assoc($result)) {
// Doe wat met het resultaat (dat in $row zit);
}
}
?>
$sql = "SELECT ... (rest van je query)";
$result = mysql_query($sql);
if($result == false) {
trigger_error(mysql_error().' <br/>In query: '.$sql);
}
else {
while($row = mysql_fetch_assoc($result)) {
// Doe wat met het resultaat (dat in $row zit);
}
}
?>
Toevoeging op 14/04/2011 17:34:27:
ps. Uiteraard ontbreken bij je echo ook de quotes nog...
joren zo goed kan ik het nog niet. ik kan alle informatie opvragen van de database dat gaat ook makkelijk op deze manier:
Zo lukt het wel alleen het punt is dat mijn baas het uitgetekend heeft op een blaadje en dan moet ik 3 rijen langselkaar maken .
in de eerste rij de foto van de persoon, in de tweede rij naam, achternaam, telefoonnummer, en in de derde rij ook informatie.
dus dan krijg ik dat de php onderbroken wordt door de td tr en de standaard dingen naam, achternaam, telefoon enzo.... pff ik heb urenlang tutorials gekeken en mijn hoofd staat op ontploffen het is zooo geavanceerd.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<title>Team Finance9</title>
</head>
<body>
<?php include("connection.php"); ?>
<?php
$commando="SELECT * FROM `personen`";
$result=mysql_query($commando);
while($array=mysql_fetch_array($result)){
echo "<br />";
echo "De inhoud van een kaart:<br />";
echo "Naam: " . $array['naam'] . "<br />";
echo "Achternaam: " . $array['achternaam'] . "<br />";
echo "Telefoonnummer: " . $array['telefoonnummer'] . "<br />";}
?>
<br /><br />
<?php require("system/footer.php")?>
<head>
<title>Team Finance9</title>
</head>
<body>
<?php include("connection.php"); ?>
<?php
$commando="SELECT * FROM `personen`";
$result=mysql_query($commando);
while($array=mysql_fetch_array($result)){
echo "<br />";
echo "De inhoud van een kaart:<br />";
echo "Naam: " . $array['naam'] . "<br />";
echo "Achternaam: " . $array['achternaam'] . "<br />";
echo "Telefoonnummer: " . $array['telefoonnummer'] . "<br />";}
?>
<br /><br />
<?php require("system/footer.php")?>
Zo lukt het wel alleen het punt is dat mijn baas het uitgetekend heeft op een blaadje en dan moet ik 3 rijen langselkaar maken .
in de eerste rij de foto van de persoon, in de tweede rij naam, achternaam, telefoonnummer, en in de derde rij ook informatie.
dus dan krijg ik dat de php onderbroken wordt door de td tr en de standaard dingen naam, achternaam, telefoon enzo.... pff ik heb urenlang tutorials gekeken en mijn hoofd staat op ontploffen het is zooo geavanceerd.
Als je 3 rijen naast elkaar wilt, vraagt dat om het gebruik van een tabel. Het is in deze gevallen sowieso handig om eerst eens te bedenken hoe de HTML eruit moet komen te zien en dat dan pas met PHP te genereren.
Dus zoiets zul je moeten krijgen:
Nu is het aan jou de uitdaging om dat te genereren binnen je while loop. En ook blijf ik bij mijn punt dat je altijd moet controleren of je query wel gelukt is, lees ook eens deze SQL beginnershandleiding.
Dus zoiets zul je moeten krijgen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<table>
<tr>
<td>Foto</td>
<td>Naam</td>
<td>Information</td>
</tr>
<tr>
<td>Foto</td>
<td>Naam</td>
<td>Information</td>
</tr>
(etc...)
</table>
<tr>
<td>Foto</td>
<td>Naam</td>
<td>Information</td>
</tr>
<tr>
<td>Foto</td>
<td>Naam</td>
<td>Information</td>
</tr>
(etc...)
</table>
Nu is het aan jou de uitdaging om dat te genereren binnen je while loop. En ook blijf ik bij mijn punt dat je altijd moet controleren of je query wel gelukt is, lees ook eens deze SQL beginnershandleiding.
joren, dankjewel voor de controle tip die zal ik zeker doornemen. Je hebt het dan over de . mysql_error die heb ik in mijn connector.php staan.
En inderdaad in photoshop gesliced daarna in dreamweaver aan het bewerken (dus het ziet er ongeveer uit als wat je hebt getypt) maar dat is ook inderdaad waar ik het op wil toepassen, maar ik weet niet precies hoe. ik gebruik dan elke keer de \ bijvoorbeeld zo
in mijn php code. En dat werkt niet omdat er zo'n 100 van dit soort dingen staan in 1 tabel.
En inderdaad in photoshop gesliced daarna in dreamweaver aan het bewerken (dus het ziet er ongeveer uit als wat je hebt getypt) maar dat is ook inderdaad waar ik het op wil toepassen, maar ik weet niet precies hoe. ik gebruik dan elke keer de \ bijvoorbeeld zo
in mijn php code. En dat werkt niet omdat er zo'n 100 van dit soort dingen staan in 1 tabel.
Nee niet de mysql_error() in connector.php maar juist elke keer na het uitvoeren van een query. Als de query, om wat voor reden dan ook mislukt, zal mysql_query() FALSE teruggeven. Met mysql_error() kun je vervolgens de bijbehorende foutmelding opvragen...
Wat betreft die \ voor die dubbele quotes, dat is heel makkelijk te ondervangen door voor je echo enkele quotes te gebruiken. Vergelijk:
<php
echo "<td width=\"18\">";
// En:
echo '<td width="18">';
?>
En eigenlijk zou je die inline style (die width in dit geval) helemaal niet daar moeten plaatsen. Gebruik CSS om de opmaak te verzorgen. Ook daarover is genoeg te vinden op internet, wederom even googlen dus :-)
Wat betreft die \ voor die dubbele quotes, dat is heel makkelijk te ondervangen door voor je echo enkele quotes te gebruiken. Vergelijk:
<php
echo "<td width=\"18\">";
// En:
echo '<td width="18">';
?>
En eigenlijk zou je die inline style (die width in dit geval) helemaal niet daar moeten plaatsen. Gebruik CSS om de opmaak te verzorgen. Ook daarover is genoeg te vinden op internet, wederom even googlen dus :-)
Aaa super, weer wat bijgeleerd maar dit betekent dat ik de gehele tabel in de php code moet behouden. Ik hoop dat er iemand reageerd met een similaire probleem. Want ik moet nog een hoop leren. Groeten Gijs.




