Form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Ruben

Ruben

24/10/2006 15:38:00
Quote Anchor link
Als ik een hele lijst met allemaal text fields heb zoals dit

http://tweemaster.awardspace.com/lol.html

Hoe kan ik dat dan allemaal makkelijk in db invoeren?
 
PHP hulp

PHP hulp

29/11/2024 11:32:34
 
Joren de Wit

Joren de Wit

24/10/2006 15:41:00
Quote Anchor link
Als je dit formulier post zou je het volgende kunnen gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    foreach($_POST as $key => $value)
    {

        echo $key.': '.$value.'<br>';
        // Hier kun je natuurlijk ook controle uitvoeren
        // en een insert query gebruiken.

    }
}

?>
 
Robert Deiman

Robert Deiman

24/10/2006 15:41:00
Quote Anchor link
Geef elk idveld de naam "id[]" (zonder quotes) en elk naamveld de naam "naam[]" (ook zonder quotes)
$_POST['naam'] is dan een array met alle namen, en $_POST['id'] een array met alle id's..
s
(overigens als ID ook voor het id-veld van je database is, zou ik dat veld in de database op auto_increment zetten.)
 
Ruben

Ruben

24/10/2006 15:45:00
Quote Anchor link
Ja heb ik gedaan. Maar het is ff voorbeeld.


En als ik dan doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$naam = $_POST['naam']
$id = $_POST['id']

INSERT INTO nummers (id, naam) VALUES ('$id', '$naam')


Is dan alles apart ingevoegd?
Gewijzigd op 01/01/1970 01:00:00 door Ruben
 
Jason de Ridder

Jason de Ridder

24/10/2006 15:45:00
Quote Anchor link
als je al die text field nou dezelfde naam geeft, dus bij ID:
<input type="text" name="id[]" />
en bij naam:
<input type="text" name="naam[]" />
kan je via een foreach-loop deze makkelijk toevoegen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach($_POST['id'] as $key => $value) {
    mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}

?>
 
Ruben

Ruben

24/10/2006 16:04:00
Quote Anchor link
Jason de Ridder schreef op 24.10.2006 15:45:
als je al die text field nou dezelfde naam geeft, dus bij ID:
<input type="text" name="id[]" />
en bij naam:
<input type="text" name="naam[]" />
kan je via een foreach-loop deze makkelijk toevoegen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach($_POST['id'] as $key => $value) {
    mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}

?>
`

En hoe zorg ik er voor dat er geen lege dingen worden ingevoerd?
 
Robert Deiman

Robert Deiman

24/10/2006 16:13:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
foreach($_POST['id'] as $key => $value) {
   if(!empty($value)){
       mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
   }
}

?>
 
Jason de Ridder

Jason de Ridder

24/10/2006 16:16:00
Quote Anchor link
Robert schreef op 24.10.2006 16:13:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
foreach($_POST['id'] as $key => $value) {
   if(!empty($value)){
       mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
   }
}

?>

wordt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
foreach($_POST['id'] as $key => $value) {
   if(!empty($value) or !empty($_POST['naam'][$key])){
       mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
   }
}

?>
 
Ruben

Ruben

24/10/2006 16:22:00
Quote Anchor link
Dit is het script:

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
<?PHP
$user
="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
            or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
            or die ("Kon database niet selecteren");


foreach($_POST['id'] as $key => $value) {
   if(!empty($value) or !empty($_POST['naam'][$key])){
       mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$_POST['naam'][$key]."'");
   }
}



echo "gelukt";
?>


Maar hij wil het maar niet invoegen. De velden hebben andere betekenis. Het veld ID heeft nu de betekenis nummer en het veld naam heeft nu de betekenis prijs.
 
- SanThe -

- SanThe -

24/10/2006 16:30:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
foreach($_POST as $key => $value)
{

   if(!empty($value) and !empty($key))
   {

       mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'");
   }
}

?>

En natuurlijk de foutafhandeling maken. Oftewel checken of het wel gelukt is.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Ruben

Ruben

24/10/2006 17:08:00
Quote Anchor link
Hij voegt em nog steeds niet in...
 
- SanThe -

- SanThe -

24/10/2006 17:17:00
Quote Anchor link
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'") or die(mysql_error());
 
Ruben

Ruben

24/10/2006 19:36:00
Quote Anchor link
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
<?PHP
$user
="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
            or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
            or die ("Kon database niet selecteren");


foreach($_POST as $key => $value)
{

   if(!empty($value) and !empty($key))
   {

       mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'") or die(mysql_error());
   }
}




echo "gelukt!!";
?>


Hij geeft de foutmelding :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Gewijzigd op 01/01/1970 01:00:00 door Ruben
 
Mark D

Mark D

24/10/2006 19:40:00
Quote Anchor link
De laatste dubbele quote staat voor het haakje, die moet erna. Dit gaat dus over regel 16 van je post.
 
Ruben

Ruben

24/10/2006 19:46:00
Quote Anchor link
Parse error: parse error, unexpected ';' in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 16

Nu krijg ik die weer :P

Het is echt om moedeloos van te worden
 
Frank -

Frank -

24/10/2006 19:52:00
Quote Anchor link
Installeer een goede editor (Eclipse met PHP-plugin of Zend Studio) en je krijgt al een error tijdens het programeren. Scheelt een hoop ellende.

Verder staat er op regel 16 (of 1 van de regels daarvoor) een ; die niet wordt verwacht.

Dit alles lijkt mij echter geen enkele reden om er moedeloos van te worden, het zijn zulke kleine foutjes, dit stelt echt niets voor.
 
Ruben

Ruben

24/10/2006 20:00:00
Quote Anchor link
Ik kan em serieus niet vinden. Ik zie nergens een onverwachte ;

Dit is het hele script dus...
 
Leroy Boerefijn

Leroy Boerefijn

24/10/2006 20:15:00
Quote Anchor link
*bericht klopt niet*
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
 
Ruben

Ruben

24/10/2006 20:18:00
Quote Anchor link
ok :P
 
Jan Koehoorn

Jan Koehoorn

24/10/2006 20:33:00
Quote Anchor link
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
    $user
="";
    $host="";
    $password="";
    $database="";
    $connection = mysql_connect ($host, $user, $password)
                or die ("Kon geen verbinding maken");
    $db = mysql_select_db($database, $connection)
                or die ("Kon database niet selecteren");

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $values = array ();
        foreach($_POST as $key => $value) {
            $values[$key] = mysql_real_escape_string ($value);
            if (!empty ($values['nummer']) && !empty ($values['prijs'])) {
                // ik ga er van uit dat prijs GEEN string is, dus geen enkele quotes
                $sql = "
                    INSERT INTO nummer
                    SET
                        nummer = '"
. $values['nummer'] . "',
                        prijs = "
. $values['nummer'];
                if (!mysql_query ($sql)) {
                    trigger_error (mysql_error ());
                }
            }
        }
    }

?>
 
Ruben

Ruben

24/10/2006 20:55:00
Quote Anchor link
Ik heb dit veranderd

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
INSERT INTO nummers
                    SET
                        id = '',
                        nummer = '" . $values['nummer'] . "',
                        prijs = " . $values['nummer'];


Maar hij geeft nu de error

Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 15

Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 15
 

Pagina: 1 2 3 volgende »



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.