informatie uit database halen en posten.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom bijlsma

tom bijlsma

07/11/2012 18:15:23
Quote Anchor link
ik heb een Form met een input veld "food"
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
 
PHP hulp

PHP hulp

24/11/2024 23:31:03
 
Eddy E

Eddy E

07/11/2012 18:21:43
Quote Anchor link
Zoek eens naar $_POST; SELECT; SQL WHERE en mysql_query().
 
Tom bijlsma

tom bijlsma

07/11/2012 18:25:54
Quote Anchor link
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 =/
 
- Ariën  -
Beheerder

- Ariën -

07/11/2012 18:54:56
Quote Anchor link
Waar loop je op vast? Wat heb je al geprobeerd?
Gewijzigd op 07/11/2012 18:55:16 door - Ariën -
 
Tom bijlsma

tom bijlsma

07/11/2012 19:01:02
Quote Anchor link
- 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)
PHP script in nieuw venster Selecteer het PHP script
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
<!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>
 
- Ariën  -
Beheerder

- Ariën -

07/11/2012 19:03:12
Quote Anchor link
Begin anders eens hier:
http://www.phptuts.nl/view/41/
Gewijzigd op 07/11/2012 19:03:31 door - Ariën -
 
Tom bijlsma

tom bijlsma

07/11/2012 19:03:17
Quote Anchor link
Tom bijlsma op 07/11/2012 19:01:02:
- 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)
PHP script in nieuw venster Selecteer het PHP script
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
<!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>





oh let trouwens niet op dat commentaar erbij over inlog gegevens want dat is iets van een ander bestand van mij
 
Obelix Idefix

Obelix Idefix

07/11/2012 21:42:07
Quote Anchor link
offtopic: waarom hele teksten quoten als ze direct er boven staan / geen toegevoegde waarde hebben? Je topic wordt er lang van, maar is lastiger te volgen.

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.
 
Eddy E

Eddy E

07/11/2012 21:52:46
Quote Anchor link
Hij wil gewoon alle restaurants die een 1 (true) hebben uit de database hebben.
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
 }
?>



Hier moet je echt genoeg mee kunnen hoor.
Normaal kan dit veel korter, maar zo snap je wellicht wat er gebeurt.
 
Obelix Idefix

Obelix Idefix

07/11/2012 22:03:20
Quote Anchor link
En wil je het perfect maken, dan komt er op regel 21 nog een foutafhandeling bij.

@Eddy: Is er een reden waarom je $sql[] = gebruikt en niet $sql .= ?
 
Tom bijlsma

tom bijlsma

08/11/2012 12:15:48
Quote Anchor link
het is gelukt :) dankje !
 
- SanThe -

- SanThe -

08/11/2012 12:58:38
Quote Anchor link
Tom bijlsma op 07/11/2012 19:03:17:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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){
    // ....
}
?>


Waarom drie keer connecten?
 
LEDfan nvt

LEDfan nvt

08/11/2012 13:37:35
Quote Anchor link
Eddy Erkelens op 07/11/2012 21:52:46:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// hoe wil je filteren?
if(isset($_POST['food'] AND is_int($_POST['food'])
 {

 $sql[] =  "WHERE food = ".intval($_POST['food']);
 }

?>


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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.