de melding was dat ik de syntax "near SET delete = 'yes' WHERE ID = 13"quote:Op zaterdag 19 januari 2008 11:43 schreef SuperRembo het volgende:
[..]
Je had ook even de query die uitgevoerd wordt aan het die() statement kunnen toevoegen, dan weet je tenminste welke query precies fout gaat.
'delete' is een reserved word, dus als je die als kolomnaam gebruikt, dan moet je er `back ticks` omheen zetten. Ik denk dat 't ook niet echt de juiste naam voor de kolom is ('deleted' zou waarschijnlijk beter zijn). En een varchar veld gebruiken om er 'yes' of 'no' in te zetten is niet handig, daar kan je beter een tinyint voor gebruiken met 1 of 0.
fetchItemID() haalt het itemid op uit de url ($_GET['itemid']) en aan de url te zien klopt het itemid gewoon en aan de mysql_error te zien ookquote:Op zaterdag 19 januari 2008 11:01 schreef Farenji het volgende:
[..]
Tja het zou handig zijn om te weten wat er uit die functie fetchItemID() komt. Waarschijnlijk komt daar iets anders dan je verwacht. Print de resulterende query eens naar stderr zodat je ziet wat er precies gebeurt.
Rare functie overigens, zo zonder params enzo, heb je maar 1 item tegelijk in je programma ofzo?
ENUM 'yes', 'no'quote:Op zaterdag 19 januari 2008 11:12 schreef Scorpie het volgende:
wat voor veld is delete? is dat een boolean of een varchar?
ikzelf heb dus ook ENUM gekozen maar dan met 'yes', 'no' om de opties logischer te houden..quote:Op zaterdag 19 januari 2008 12:11 schreef Xcalibur het volgende:
[..]
In dat geval kan je weer beter een ENUM(1,0) gebruiken volgens mij
O ja, MySQL heeft enums. Daar denk ik niet zo snel aan omdat SqlServer ze niet heeft.quote:Op zaterdag 19 januari 2008 12:13 schreef MuRKie het volgende:
[..]
de melding was dat ik de syntax "near SET delete = 'yes' WHERE ID = 13"
het veld is trouwens geen VARCHAR maar ENUM
gevoelsmatig is 1 / yes / true en 0 / no / false allemaal hetzelfde voor mijquote:Op zaterdag 19 januari 2008 12:31 schreef MuRKie het volgende:
ikzelf heb dus ook ENUM gekozen maar dan met 'yes', 'no' om de opties logischer te houden..
Het is veel beter om consequent 1 voor true te gebruiken, en 0 voor false. Dat maakt het veel logischer omdat PHP 0 ook als false ziet en 1 als true. "yes" en "no" worden door PHP allebei als true gezien.quote:Op zaterdag 19 januari 2008 17:24 schreef Xcalibur het volgende:
[..]
gevoelsmatig is 1 / yes / true en 0 / no / false allemaal hetzelfde voor mij
Maar ik reageerde op de TINYINT post, vandaar dat ik met de 1 / 0 kwam...
kan je die datum niet met php erin stoppen? met de date() functie? Ik heb werkelijk geen flauw idee hoe ik die unix date moet uitlezen..quote:Op zaterdag 19 januari 2008 20:05 schreef wobbel het volgende:
Ik zit met iets heel vaags waar ik niet echt uit kom hoe ik het op moet lossen....
Ik heb een tabel met wat velden: Ziet er zo uit:
Tabel BEZOEKERS
Wat
Datum
Ip
WAT - DATUM - IP
home - 1200769418 - 82.64.36.31
home - 1200356372 - 213.51.210.153
contact - 1200313598 - 199.121.10.192
(etc etc etc)
Nu zie je dat ik een UNIX timestamp (date ( "U" )) als datum...
Je bouwt de query dan bijvoorbeeld (zijn meerdere wegen naar Rome) zo op:quote:Op zaterdag 19 januari 2008 20:05 schreef wobbel het volgende:
Ik zit met iets heel vaags waar ik niet echt uit kom hoe ik het op moet lossen....
Ik heb een tabel met wat velden: Ziet er zo uit:
Tabel BEZOEKERS
Wat
Datum
Ip
WAT - DATUM - IP
home - 1200769418 - 82.64.36.31
home - 1200356372 - 213.51.210.153
contact - 1200313598 - 199.121.10.192
(etc etc etc)
Nu zie je dat ik een UNIX timestamp (date ( "U" )) als datum...
Maar hoe krijg ik nu een mooi overzichtje:
MAAND - VIEWS
Januari - en dan alle records die in januari valle
Februari - en dan alle records die in februari vallen
tot aan de huidige maand
aah kijk eens aan, daar heb ik wat meer aanquote:Op zaterdag 19 januari 2008 20:17 schreef Mordreth het volgende:
[..]
Je bouwt de query dan bijvoorbeeld (zijn meerdere wegen naar Rome) zo op:
select * from bezoekers where datum > AAAAAA and datum < BBBBB
Op de AAA plek zet je dan een unix timestamp van 1 februari neer (doormiddel van date: date(0,0,0,2,1,2008)
en op de plek van BBB zet je dus het einde van de maand neer.
Met order by datum kan je het dan netjes oplopend / aflopend ophalen.
quote:Op zaterdag 19 januari 2008 20:47 schreef Geqxon het volgende:
SELECT DISTINCT.
1 2 3 4 5 6 7 8 9 10 11 12 13 | $SQL_Name_Select = "SELECT DISTINCT Naam FROM Namen" $SQL_Name_Query = mysql_query ( $SQL_Name_Select ) or die ( $error->MySQL ( __FILE__, $SQL_Name_Insert, __LINE__ ) ); while ( $SQLData = mysql_fetch_array ( $SQL_Name_Query ) ) { echo $SQLData['Naam'] . "<br />"; } ?> |
1 |
quote:The ALL, DISTINCT, and DISTINCTROW options specify whether duplicate rows should be returned. If none of these options are given, the default is ALL (all matching rows are returned). DISTINCT and DISTINCTROW are synonyms and specify removal of duplicate rows from the result set.
Dus hij maakt er een array van? Maar dat was het al? Wat doet dit precies meer? Select WHERE id > 0 kan toch ook?quote:Op zaterdag 19 januari 2008 23:16 schreef Geqxon het volgende:
Het is geen functie, maar een optie die bij SELECT hoort.
[..]
Het is een optie van SELECT, waarbij je tegen SELECT zegt dat je enkel rijen met unieke waarden wilt.quote:Op zondag 20 januari 2008 02:04 schreef Flaccid het volgende:
[..]
Dus hij maakt er een array van? Maar dat was het al? Wat doet dit precies meer? Select WHERE id > 0 kan toch ook?
1 |
Je zou het zo eens kunnen proberen:quote:Op maandag 21 januari 2008 10:42 schreef wobbel het volgende:
Ik heb nu dit:
SELECT DISTINCT Year FROM CMS_PageStatistics...
Ik krijg nu netjes dit:
2006
2007
2008
Maar hoe kan ik zien hoeveel records er van elke zijn? dus:
2006 - 305
2007 - 1403
2008 - 2930
1 2 | GROUP BY year |
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 | /* Load main library Files */ require_once ( "lib/htconfig.php" ); require_once ( LIB_PATH . "/f_core.php" ); $MySQL_Statistics_Select = "SELECT DISTINCT(`Year`) FROM CMS_PageStatistics ORDER BY Year DESC"; $MySQL_Statistics_Query = mysql_query ( $MySQL_Statistics_Select ) or die ( mysql_error ( ) ); while ( $SQLData = mysql_fetch_array ( $MySQL_Statistics_Query ) ) { $MySQL_StatSum_Select = "SELECT Sum(`Views`) FROM CMS_PageStatistics WHERE Year = '" . addslashes ( $SQLData['Year'] ) . "'"; $MySQL_StatSum_Query = mysql_query ( $MySQL_StatSum_Select ) or die ( mysql_error ( ) ); $MySQL_StatSum_Result = mysql_result ( $MySQL_StatSum_Query, 0 ); echo $SQLData['Year'] . " - " . $MySQL_StatSum_Result . "<br />"; } ?> |
Maar hoe zorg ik ervoor dat ie de views ook uitpoept? Krijg nu NIKS uitgepoeptquote:Op maandag 21 januari 2008 11:08 schreef Geqxon het volgende:
SELECT Year, COUNT(Year), SUM(Views) FROM `years` WHERE 1 GROUP BY Year
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /* Load main library Files */ require_once ( "lib/htconfig.php" ); require_once ( LIB_PATH . "/f_core.php" ); $MySQL_Statistics_Select = "SELECT Year, COUNT(Year), SUM(Views) FROM CMS_PageStatistics WHERE 1 GROUP BY Year"; $MySQL_Statistics_Query = mysql_query ( $MySQL_Statistics_Select ) or die ( mysql_error ( ) ); while ( $SQLData = mysql_fetch_array ( $MySQL_Statistics_Query ) ) { echo $SQLData['Year'] . " - " . $SQLData['Views'] . "<br />"; } ?> |
Ik ben U eeuwig dankbaar Bobbieeeejquote:Op maandag 21 januari 2008 11:13 schreef Geqxon het volgende:
" ... , SUM(Views) AS Views FROM .... "
Hij is wel te pingen, dus de webserver (Apache?quote:Op maandag 21 januari 2008 14:38 schreef MuRKie het volgende:
ligt www.apache.org er bij jullie ook uit?
quote:Op maandag 21 januari 2008 14:51 schreef CraZaay het volgende:
[..]
Hij is wel te pingen, dus de webserver (Apache?) staat uit lijkt me
1 2 3 | Jantje 5 Henkie 1 |
een dirty oplossing:quote:Op maandag 21 januari 2008 17:46 schreef DutchBlood het volgende:
Ik loop tegen het volgende MySQL gerelateerde probleem aan. Ik heb een tabel met registraties voor een sport-event. Mensen kunnen zelf hun racenummer kiezen. Nu wil het echter zo maken dat op het moment dat iemand geen nummer kiest ze een vrij nummer zo dicht mogelijk bij 1 krijgen.
Dus stel dat de tabel er zo uit ziet:
[ code verwijderd ]
Op het moment dat iemand geen nummer kiest, moet ie dus nummer 3 krijgen. Vraag is, hoe kom ik achter dit getal?
Als ik nummer auto_increment meegeef hoogt ie namelijk het hoogste getal, 5 dus, met 1 op =>6, en dat wil ik niet.
Doe dan gewoon 1 select query om alle id's op te vragen. Dan kun je in php wel uitzoeken wat het laagste vrije id is.quote:Op maandag 21 januari 2008 18:53 schreef mschol het volgende:
[..]
een dirty oplossing:
een loopje maken dat vanaf 1 gaat tellen naar de eerste beste lege plek.. (en telkens checkt met een select of het nummer al bestaat)
geen idee hoe je het anders zou moeten doen...
Had ik al overwegen, maar zoals je vermeld nogal dirty.quote:Op maandag 21 januari 2008 18:53 schreef mschol het volgende:
[..]
een dirty oplossing:
een loopje maken dat vanaf 1 gaat tellen naar de eerste beste lege plek.. (en telkens checkt met een select of het nummer al bestaat)
geen idee hoe je het anders zou moeten doen...
Dat lijkt me een goed idee ja. Bedankt.quote:Op maandag 21 januari 2008 19:49 schreef Light het volgende:
[..]
Doe dan gewoon 1 select query om alle id's op te vragen. Dan kun je in php wel uitzoeken wat het laagste vrije id is.
Hm dat was lastiger dan ik dacht maar is toch gelukt, in 2 queries of zelfs 1, als je aanneemt dat ID=1 al bezet is (daar kun je evt op query'en) dan doet de volgende query de truuk:quote:Op maandag 21 januari 2008 17:46 schreef DutchBlood het volgende:
Ik loop tegen het volgende MySQL gerelateerde probleem aan. Ik heb een tabel met registraties voor een sport-event. Mensen kunnen zelf hun racenummer kiezen. Nu wil het echter zo maken dat op het moment dat iemand geen nummer kiest ze een vrij nummer zo dicht mogelijk bij 1 krijgen.
Dus stel dat de tabel er zo uit ziet:
[ code verwijderd ]
Op het moment dat iemand geen nummer kiest, moet ie dus nummer 3 krijgen. Vraag is, hoe kom ik achter dit getal?
Als ik nummer auto_increment meegeef hoogt ie namelijk het hoogste getal, 5 dus, met 1 op =>6, en dat wil ik niet.
1 2 3 4 5 | from nodes n1 left join nodes n2 on n2.ID = n1.ID + 1 where n2.ID is null order by n1.ID limit 1; |
1 |
kan je wel vanaf buitenaf connecten? en heb je de poort 3306 ingesteld?quote:Op maandag 21 januari 2008 20:57 schreef poepeneesje het volgende:
Hallo,
Ik ben bezig met een website inclusief database. Ik heb bij PCextreme een database opgebouwd nu wil ik via de website (deze staat bij een ander bedrijf gehost) de informatie uit de database halen, maar ik krijg de volgende foutmelding:
[ code verwijderd ]
Iemand die hier een oplossing voor weet/heeft?
-xxx-
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |