Checkbox form in mysql fetch array
Ja, logisch....
Stom dat ik dit niet zag..
Dank!!
Stom dat ik dit niet zag..
Dank!!
Gesponsorde koppelingen:
- SanThe - op 08/02/2012 13:05:46:
WHERE id NOT IN (...) moet dat niet WHERE id IN (...) zijn?
Niet als Karim mijn volledige voorbeeld gebruikt, dat zet nl de in het formulier aangevinkte checkboxen in de tabel op yes (als ze dat al niet stonden). En andersom voor de niet aangevinkte checkboxen.
Nu ik dit hele verhaal aan de praat ontdek ik dat er ook een fout zit in mijn search form...
Moet ik hier even een nieuw topic voor aanmaken of kunnen jullie mij hier ook mee helpen?
Hier is bovenstaand verhaal op gebaseerd:
(dit is overigens niet zelf geschreven.
ik kwam dit op het net tegen en ben hier mijn systeem op gaan baseren)
Het probleem is dat hij dus niets meer in de db zet,
maar ik krijg ook geen error?!
Wat gaat er mis?
Moet ik hier even een nieuw topic voor aanmaken of kunnen jullie mij hier ook mee helpen?
Hier is bovenstaand verhaal op gebaseerd:
(dit is overigens niet zelf geschreven.
ik kwam dit op het net tegen en ben hier mijn systeem op gaan baseren)
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
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
<?php
$q = $_GET["q"]; // query string
$request = "http://search.twitter.com/search.json?q=".urlencode($q);
$response = file_get_contents($request);
$jsonobj = json_decode($response);
if($jsonobj != null){
$con = mysql_connect('');
if (!$con){
die('Could not connect: ' . mysql_error());
}
foreach($jsonobj->results as $item){
$id = $item->id;
$created_at = $item->created_at;
$created_at = strtotime($created_at);
$mysqldate = date('Y-m-d H:i:s',$created_at);
$from_user = mysql_real_escape_string($item->from_user);
$from_user_id = $item->from_user_id;
$text = mysql_real_escape_string($item->text);
$source = mysql_real_escape_string($item->source);
$geo = $item->geo;
$iso_language_code = $item->iso_language_code;
$profile_image_url = mysql_real_escape_string($item->profile_image_url);
$to_user_id = $item->to_user_id;
if($to_user_id==""){ $to_user_id = 0; }
$query = mysql_real_escape_string($query);
mysql_select_db("md36691db200438", $con);
$query = "INSERT into tweets VALUES ($id,'$mysqldate','$from_user',$from_user_id,'$text','$source','$geo','$iso_language_code','$profile_image_url',$to_user_id,'$q')";
$result = mysql_query($query);
}
mysql_close($con);
}
?>
$q = $_GET["q"]; // query string
$request = "http://search.twitter.com/search.json?q=".urlencode($q);
$response = file_get_contents($request);
$jsonobj = json_decode($response);
if($jsonobj != null){
$con = mysql_connect('');
if (!$con){
die('Could not connect: ' . mysql_error());
}
foreach($jsonobj->results as $item){
$id = $item->id;
$created_at = $item->created_at;
$created_at = strtotime($created_at);
$mysqldate = date('Y-m-d H:i:s',$created_at);
$from_user = mysql_real_escape_string($item->from_user);
$from_user_id = $item->from_user_id;
$text = mysql_real_escape_string($item->text);
$source = mysql_real_escape_string($item->source);
$geo = $item->geo;
$iso_language_code = $item->iso_language_code;
$profile_image_url = mysql_real_escape_string($item->profile_image_url);
$to_user_id = $item->to_user_id;
if($to_user_id==""){ $to_user_id = 0; }
$query = mysql_real_escape_string($query);
mysql_select_db("md36691db200438", $con);
$query = "INSERT into tweets VALUES ($id,'$mysqldate','$from_user',$from_user_id,'$text','$source','$geo','$iso_language_code','$profile_image_url',$to_user_id,'$q')";
$result = mysql_query($query);
}
mysql_close($con);
}
?>
Het probleem is dat hij dus niets meer in de db zet,
maar ik krijg ook geen error?!
Wat gaat er mis?
Tip nummer 1 bij het uitvoeren van een insert: gebruik altijd de kolomnamen waar de waardes in moeten. Op die manier is het makkelijker voor jezelf om te zien of het klopt, maar het blijft ook goed gaan mocht je later eens een kolom toevoegen. Als je namelijk geen kolommen benoemt moet je alle kolommen (in de juiste volgorde) een waarde geven. Mis je er een dan ben je de klos.
Dus:
Eventuele autmatische waardes kan je dan ook achterwegen laten (bijvoorbeeld auto_increment ids en timestamps).
(ps kolomnamen in dit voorbeeld heb ik natuurlijk verzonnen)
Dus:
Code (php)
1
2
2
INSERT INTO tweets(id, insert_date, ... ,... ,...)
VALUES('".$id."','".$mysqldate."', ... ,... ,...);
VALUES('".$id."','".$mysqldate."', ... ,... ,...);
Eventuele autmatische waardes kan je dan ook achterwegen laten (bijvoorbeeld auto_increment ids en timestamps).
(ps kolomnamen in dit voorbeeld heb ik natuurlijk verzonnen)
Ah, ik heb hier niet mijn "checkbox" kolom tussen staan (die ik later heb aangemaakt in de db)....
Dat zal dan de oorzaak zijn dat het nu niet meer werkt...
Ik ga weer even aan de slag...
Dat zal dan de oorzaak zijn dat het nu niet meer werkt...
Ik ga weer even aan de slag...



