Error bij Titel
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
include('connect.php');
$query = mysql_query("SELECT id, categorienaam FROM categorie ORDER BY id ASC") or die(mysql_error());
while($data = mysql_fetch_assoc($query)) {
?>
include('connect.php');
$query = mysql_query("SELECT id, categorienaam FROM categorie ORDER BY id ASC") or die(mysql_error());
while($data = mysql_fetch_assoc($query)) {
?>
<form action="" method="post">
Titel:
<input type="text" name="titel"><br />
Auteur:
<input type="text" name="auteur"><br />
Categorie: <SELECT NAME="hoofdcategorie">
</SELECT>
Bericht:<br />
<textarea name="tekst" cols="35" rows="10"></textarea><br />
<input type="submit" name="stuur" value="Stuur !">
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if (!isset($_POST['stuur'])) {
} else {
$titel = trim($_POST['titel']);
$auteur = trim($_POST['auteur']);
$categorie = trim($_POST['categorie']);
$bericht = trim($_POST['tekst']);
$maanden = array("januari", "februari", "maart", "april", "mei", "juni",
"juli", "augustus", "september", "oktober", "november", "december");
$date = date("j ") . $maanden[date("n") - 1] . date(" Y");
mysql_query("INSERT INTO nieuws_posts SET titel='". $titel ."', auteur='".$bericht."', datetime='".$date."', tekst='".$bericht."', hoofdcategorie='".$categorie."'") or die (mysql_error());
echo"Het bericht is toegevoegd!</a>";
}
?>
if (!isset($_POST['stuur'])) {
} else {
$titel = trim($_POST['titel']);
$auteur = trim($_POST['auteur']);
$categorie = trim($_POST['categorie']);
$bericht = trim($_POST['tekst']);
$maanden = array("januari", "februari", "maart", "april", "mei", "juni",
"juli", "augustus", "september", "oktober", "november", "december");
$date = date("j ") . $maanden[date("n") - 1] . date(" Y");
mysql_query("INSERT INTO nieuws_posts SET titel='". $titel ."', auteur='".$bericht."', datetime='".$date."', tekst='".$bericht."', hoofdcategorie='".$categorie."'") or die (mysql_error());
echo"Het bericht is toegevoegd!</a>";
}
?>
Mike,
je haalt iig insert en update statement door elkaar
Dit mag je lezen als: sorteer op niks en dan oplopend. Wat levert dan voor resultaat op? Niks... Een id is niks, betekent niks. Ga er dan ook geen betekenis aan toekennen, dat gaat altijd fout. Met een id herken je een uniek record, wat er in dit record staat, dat is een ander verhaal en daar zegt het id helemaal niks over.
Jouw datumtijd is geen datum met tijd, het is niet meer dan een stuk waardeloze tekst. Ga maar eens sorteren... Dat gaat niet lukken. Een datum met tijd sla je op in een DATETIME in het formaat yyyy-mm-dd hh:mm:ss. Dat je dat op het scherm anders wilt presenteren, staat daar helemaal los van en is een ander probleem.
Jouw query loopt stuk op de onbekende kolom 'titel', zie de foutmelding en jouw datamodel.
@Sebas: Goed gezien, het was mij niet eens opgevallen... Die INSERT is inderdaad hartstikke fout!
Jouw datumtijd is geen datum met tijd, het is niet meer dan een stuk waardeloze tekst. Ga maar eens sorteren... Dat gaat niet lukken. Een datum met tijd sla je op in een DATETIME in het formaat yyyy-mm-dd hh:mm:ss. Dat je dat op het scherm anders wilt presenteren, staat daar helemaal los van en is een ander probleem.
Jouw query loopt stuk op de onbekende kolom 'titel', zie de foutmelding en jouw datamodel.
@Sebas: Goed gezien, het was mij niet eens opgevallen... Die INSERT is inderdaad hartstikke fout!
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Wat de 1e reactie al zei en de error trouwens ook , is dat titel in de query foutstaat, dit komt omdat je het gebruikt als UPDATE query.
Kijk even op internet hoe ze het daar hebben gedaan en verander het ;)
Miniejjj schreef op 14.03.2008 21:33:
Maar waar sorteer je dan op? Nergens op, geen mens die 284 of 193784 iets zegt, daar doe je als gebruiker zelfs helemaal niks mee. Een id is voor intern gebruik in de database, verder is het niks. En sorteren op niks, dat levert niks op. Ook niet als jij denkt van wel, je maakt dan een denkfout. Een id is een identifier, identifier 373 en identifier 2194 zijn allebei identifiers. Maar wat zegt dit nummertje nu over de inhoud? Niks, helemaal niks. id 2194 kan data bevatten die veel ouder is dan de data van id 373, dat is niks bijzonders.Id is toch degelijk wat, een uniek nummer ( dit heoft trouwens niet zo te zijn ) en je kan daarop zeker sorteren. Daar dus niets aan veranderen.
Zet maar eens een stamboom in een database:
- jezelf
- je vader
- je moeder
- je opa
- je oma
- je zusje
- etc.
Nu zul jij wellicht id 1 hebben, maar zegt dit iets over jouw leeftijd? Nee. Jouw oma heeft een id lager dan die van je zusje, is zij dan jonger? Nee. Waarom niet? Omdat haar geboortedatum (die hier nergens staat!) anders is. Het id zegt niks! Zelfs niet over de volgorde van invoeren, ga maar eens klooien met oude backups en intergratie van verschillende systemen in 1 nieuw systeem. De oudste data kan zomaar de nieuwste id's krijgen.
Jongens, hou op over dat geklets over volgordes met id's, die bestaan gewoon niet. Het is een identifier en dat is het. punt.
Je kan dan namelijk niet meer ID 2 krijgen als er al 10 zijn aangemeld.
Kruidnootje.nl schreef op 14.03.2008 22:07:
Nee, die is er niet, ga maar eens oude data uit een ander systeem samenvoegen met je huidige systeem. Of een backup terug zetten in een situatie waarbij je opnieuw bent gaan tellen met de auto_increment en ondertussen ook al nieuwe data in de database hebt staan... (denk aan een servercrash)Als je unieke ID's heb, is de volgorde er wel met bijvoorbeeld aanmeldingen. Als het auto_increment is tenminste.
Je kan dan namelijk niet meer ID 2 krijgen als er al 10 zijn aangemeld.
Je kan dan namelijk niet meer ID 2 krijgen als er al 10 zijn aangemeld.
Een id kent geen volgorde, kent geen ouderdom, etc. etc. etc. Het is een identifier en that's it.
Gewijzigd op 01/01/1970 01:00:00 door Frank -