informatie uit database halen en posten.
nu wil ik dat als ik daar 1 in vul hij uit de database alle bedrijven post die de waarde 1 bij food hebben.
hoe pak ik dit aan ?
Alvast heel erg bedankt !
ik heb al verbinding met de database enzo
Gewijzigd op 07/11/2012 18:17:02 door Tom bijlsma
Zoek eens naar $_POST; SELECT; SQL WHERE en mysql_query().
Eddy Erkelens op 07/11/2012 18:21:43:
Zoek eens naar $_POST; SELECT; SQL WHERE en mysql_query().
ga ik meteen doen !
alvast bedankt :)
Toevoeging op 07/11/2012 18:45:30:
ik snap er echt helemaal niks van =/
Gewijzigd op 07/11/2012 18:55:16 door - Ariën -
- Aar - op 07/11/2012 18:54:56:
Waar loop je op vast? Wat heb je al geprobeerd?
eerlijk gezegd heb ik geen idee waar ik moet beginnen.
Database is klaar voor restaurants met Food met een waarde van 1.
zoeken.php
dan heb ik een formulier pagina ( met database connectie) met input fields voor
food:
drinks:
entertainments:
dan heb ik een resultaten.php
als ik gewoon iets intyp kan ik dat wel laten posten zegmaar.
maar het word dus zo dat je een plaatje van voed selecteerd ( dat doet iemand anders) geselecteerd =1 niet geselecteerd = 0
dus nu moet ik dat als je 1 in typt bij food , er bij resultaten een lijst komt met alle restaurants die in mijn database bij food een waarde hebben van 1.
resultaten.php :
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
mysql_connect( 'localhost', 'root', '' );
if ( !mysql_connect( 'localhost', 'root', '' ) )
{
print "<p>Er is een verbindingsprobleem.</p>";
die();
}
if ( !mysql_select_db( 'test' ) )
{
print "<p>De database is niet gevonden op de server.</p>";
die();
}
$conn = mysql_connect('localhost','root','');
if ($conn){
echo 'Succesvol verbinding gemaakt';
}else{
echo 'Er is iets fout gegaan, probeer het later nog eens';
}
// Waarden uit het formulier ophalen.
$food = $_POST['food'];
$drinks = $_POST['drinks'];
$entertainment = $_POST['entertainment'];
$tabel = 'hangouts';//je tabel met gebruikersnaam en wachtwoord
$query = mysql_query(
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
mysql_connect( 'localhost', 'root', '' );
if ( !mysql_connect( 'localhost', 'root', '' ) )
{
print "<p>Er is een verbindingsprobleem.</p>";
die();
}
if ( !mysql_select_db( 'test' ) )
{
print "<p>De database is niet gevonden op de server.</p>";
die();
}
$conn = mysql_connect('localhost','root','');
if ($conn){
echo 'Succesvol verbinding gemaakt';
}else{
echo 'Er is iets fout gegaan, probeer het later nog eens';
}
// Waarden uit het formulier ophalen.
$food = $_POST['food'];
$drinks = $_POST['drinks'];
$entertainment = $_POST['entertainment'];
$tabel = 'hangouts';//je tabel met gebruikersnaam en wachtwoord
$query = mysql_query(
?>
</body>
</html>
Tom bijlsma op 07/11/2012 19:01:02:
eerlijk gezegd heb ik geen idee waar ik moet beginnen.
Database is klaar voor restaurants met Food met een waarde van 1.
zoeken.php
dan heb ik een formulier pagina ( met database connectie) met input fields voor
food:
drinks:
entertainments:
dan heb ik een resultaten.php
als ik gewoon iets intyp kan ik dat wel laten posten zegmaar.
maar het word dus zo dat je een plaatje van voed selecteerd ( dat doet iemand anders) geselecteerd =1 niet geselecteerd = 0
dus nu moet ik dat als je 1 in typt bij food , er bij resultaten een lijst komt met alle restaurants die in mijn database bij food een waarde hebben van 1.
resultaten.php :
- Aar - op 07/11/2012 18:54:56:
Waar loop je op vast? Wat heb je al geprobeerd?
eerlijk gezegd heb ik geen idee waar ik moet beginnen.
Database is klaar voor restaurants met Food met een waarde van 1.
zoeken.php
dan heb ik een formulier pagina ( met database connectie) met input fields voor
food:
drinks:
entertainments:
dan heb ik een resultaten.php
als ik gewoon iets intyp kan ik dat wel laten posten zegmaar.
maar het word dus zo dat je een plaatje van voed selecteerd ( dat doet iemand anders) geselecteerd =1 niet geselecteerd = 0
dus nu moet ik dat als je 1 in typt bij food , er bij resultaten een lijst komt met alle restaurants die in mijn database bij food een waarde hebben van 1.
resultaten.php :
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
mysql_connect( 'localhost', 'root', '' );
if ( !mysql_connect( 'localhost', 'root', '' ) )
{
print "<p>Er is een verbindingsprobleem.</p>";
die();
}
if ( !mysql_select_db( 'test' ) )
{
print "<p>De database is niet gevonden op de server.</p>";
die();
}
$conn = mysql_connect('localhost','root','');
if ($conn){
echo 'Succesvol verbinding gemaakt';
}else{
echo 'Er is iets fout gegaan, probeer het later nog eens';
}
// Waarden uit het formulier ophalen.
$food = $_POST['food'];
$drinks = $_POST['drinks'];
$entertainment = $_POST['entertainment'];
$tabel = 'hangouts';//je tabel met gebruikersnaam en wachtwoord
$query = mysql_query(
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
mysql_connect( 'localhost', 'root', '' );
if ( !mysql_connect( 'localhost', 'root', '' ) )
{
print "<p>Er is een verbindingsprobleem.</p>";
die();
}
if ( !mysql_select_db( 'test' ) )
{
print "<p>De database is niet gevonden op de server.</p>";
die();
}
$conn = mysql_connect('localhost','root','');
if ($conn){
echo 'Succesvol verbinding gemaakt';
}else{
echo 'Er is iets fout gegaan, probeer het later nog eens';
}
// Waarden uit het formulier ophalen.
$food = $_POST['food'];
$drinks = $_POST['drinks'];
$entertainment = $_POST['entertainment'];
$tabel = 'hangouts';//je tabel met gebruikersnaam en wachtwoord
$query = mysql_query(
?>
</body>
</html>
oh let trouwens niet op dat commentaar erbij over inlog gegevens want dat is iets van een ander bestand van mij
Als ik naar bovenstaande code kijk: wat doe je op regel 12 t/m 31? Kan best zijn dat het werkt, maar dat lijkt me meer een toevalstreffer. ;-)
Regel 34 tm 36 is het zinloos kopieren van variabelen. Je controleert nergens of ze bestaan, je controleert nergens of er een formulier is verzonden.
En na regel 41 houd het in 1x op?
Verder vind ik je verhaal nog niet echt verhelderend. Een zin als onderstaande roept bij mij vragen op ipv het uitlegt wat je wilt.
Tom bijlsma op 07/11/2012 19:01:02:
maar het word dus zo dat je een plaatje van voed selecteerd ( dat doet iemand anders) geselecteerd =1 niet geselecteerd = 0
Met voed bedoel je food?
Plaatje? Waar komt dat vandaan? Staat dat in een formulier of moet dat worden geupload? Wie is die iemand anders? Waar doet degene dat?
Ik vermoed dat je een select-query nodig hebt met een where daarin.
Sluit me echter aan bij Aar: begin bij het begin.
Tip: werk NIET met een <input type="text"> maar met een <input type="checkbox">. Dan kan je gewoon aanvinken wat je wilt.
Dat aanvink-dingetje is een 'plaatje' ;)
Regel 40 en 41 moeten worden:
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
// wat wil je selecteren?
$sql[] = "SELECT restaurants, adres, locatie, plaatje, nog_meer_dingen";
// waar vandaan?
$sql[] = "FROM hangouts";
// hoe wil je filteren?
if(isset($_POST['food'] AND is_int($_POST['food'])
{
$sql[] = "WHERE food = ".intval($_POST['food']);
}
// hoe wil je sorteren
$sql[] = "ORDER BY postcode DESC";
// voeg $sql samen
$sql = implode(" ", $sql); // wordt dus iets als: SELECT restaurants, adres, locatie, plaatje, nog_meer_dingen FROM hangouts WHERE food = 1 ORDER BY postcode DESC
// voer query uit
$query = mysql_query($sql);
// loop resultaten af
while($data = mysql_fetch_assoc($query)
{
// ga je gang met $data
}
?>
// wat wil je selecteren?
$sql[] = "SELECT restaurants, adres, locatie, plaatje, nog_meer_dingen";
// waar vandaan?
$sql[] = "FROM hangouts";
// hoe wil je filteren?
if(isset($_POST['food'] AND is_int($_POST['food'])
{
$sql[] = "WHERE food = ".intval($_POST['food']);
}
// hoe wil je sorteren
$sql[] = "ORDER BY postcode DESC";
// voeg $sql samen
$sql = implode(" ", $sql); // wordt dus iets als: SELECT restaurants, adres, locatie, plaatje, nog_meer_dingen FROM hangouts WHERE food = 1 ORDER BY postcode DESC
// voer query uit
$query = mysql_query($sql);
// loop resultaten af
while($data = mysql_fetch_assoc($query)
{
// ga je gang met $data
}
?>
Hier moet je echt genoeg mee kunnen hoor.
Normaal kan dit veel korter, maar zo snap je wellicht wat er gebeurt.
@Eddy: Is er een reden waarom je $sql[] = gebruikt en niet $sql .= ?
het is gelukt :) dankje !
Tom bijlsma op 07/11/2012 19:03:17:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
mysql_connect( 'localhost', 'root', '' );
if ( !mysql_connect( 'localhost', 'root', '' ) )
{
// ....
}
$conn = mysql_connect('localhost','root','');
if ($conn){
// ....
}
?>
mysql_connect( 'localhost', 'root', '' );
if ( !mysql_connect( 'localhost', 'root', '' ) )
{
// ....
}
$conn = mysql_connect('localhost','root','');
if ($conn){
// ....
}
?>
Waarom drie keer connecten?
Eddy Erkelens op 07/11/2012 21:52:46:
Dit is een leuk manier van werken, maar je hebt wel één heel groot probleem. Wat nu als ik food niet invul of een string van maak? Dan is de if ongeldig, en zal er geen WHERE uitgevoerd worden, met andere woorden, alle records worden uit de tabel gehaald.....
Gewijzigd op 08/11/2012 13:37:55 door LEDfan nvt