laatste artikel database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Lars Koning

Lars Koning

21/11/2007 09:36:00
Quote Anchor link
Met welke query kan ik het laatse artikel uit database halen?
Gewijzigd op 01/01/1970 01:00:00 door Lars Koning
 
PHP hulp

PHP hulp

05/01/2025 07:31:07
 
Frank -

Frank -

21/11/2007 09:57:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT
  artikel.naam,
  afbeelding.Artikel_id,
  afbeelding.Bestandstype
FROM
  artikel
    JOIN afbeelding ON artikel.id = afbeelding.Artikel_id
WHERE
  artikel.id = 23

Aannames: De tabel 'artikel' heeft een kolom genaamd 'id' die gelijk is aan 'Artikel_id' in de tabel 'afbeelding' en in bovenstaand voorbeeld wil je nr. 23 opvragen.

Mocht er geen verband zijn tussen beide tabellen, geen foreignkey aanwezig zijn, dan kan bovenstaande query uiteraard niet, dan gaat het namelijk helemaal niet lukken.
 
Lars Koning

Lars Koning

21/11/2007 10:00:00
Quote Anchor link
SELECT * FROM artikels ORDER BY date DESC LIMIT 1

En zo dan?
 
Frank -

Frank -

21/11/2007 10:03:00
Quote Anchor link
Wat dacht je van even testen?

Ps. Waarom is de vraag ineens verdwenen?
 
Lars Koning

Lars Koning

21/11/2007 10:11:00
Quote Anchor link
Omdat ik de vraag te omslachtig stelde

SELECT * FROM artikels ORDER BY date DESC LIMIT 1

= werkt niet
waarom niet?
 
- SanThe -

- SanThe -

21/11/2007 10:13:00
Quote Anchor link
Omdat 'date' een foute kolomnaam is?
 
Lars Koning

Lars Koning

21/11/2007 10:15:00
Quote Anchor link
date bestaat niet als kolom ik heb eerst Gegoogled maar vind bijna niks over
MySQL statement om laatste record uit DB te halen
Gewijzigd op 01/01/1970 01:00:00 door Lars Koning
 
Frank -

Frank -

21/11/2007 10:18:00
Quote Anchor link
SanThe schreef op 21.11.2007 10:13:
Omdat 'date' een foute kolomnaam is?
Nee, deze naam wordt geaccepteerd, de fout wordt anders te vaak gemaakt.
 
Joren de Wit

Joren de Wit

21/11/2007 10:19:00
Quote Anchor link
Je moet die query natuurlijk wel aanpassen naar je eigen situatie. Aannemend dat jij een kolom in je tabel hebt waarin je een datumtijd-stempel van het plaatsen van een artikel hebt opgenomen, zul je moeten sorteren op die kolom.

Een datumtijd-stempel is namelijk het enige waarmee je kunt sorteren in de tijd en derhalve het laatst toegevoegde artikel kunt ophalen.
 
Lars Koning

Lars Koning

21/11/2007 10:25:00
Quote Anchor link
Ik heb geen kolom datumtijd-stempel
hoe maak ik die derhalve aan?
waar moet ik opletten.
 
Joren de Wit

Joren de Wit

21/11/2007 10:33:00
Quote Anchor link
Hoe je die aanmaakt? Bijvoorbeeld via phpMyAdmin?

Waar je op moet letten? Geef je kolom een duidelijke naam, bijvoorbeeld 'toegevoegd' en zorg dat het type DATE of DATETIME is.
 
Lars Koning

Lars Koning

21/11/2007 10:41:00
Quote Anchor link
welke is beter date of datetime of maakt dat geen snars uit.

En zet hij automatisch de tijd er dan in of moet ik iets aanpassen in mijn artikel_toevoegen script?
 
Frank -

Frank -

21/11/2007 10:45:00
Quote Anchor link
Raadseltje: Wat zou er in een DATE worden opgeslagen en wat wordt er in een DATETIME opgeslagen?

Vervolgens mag je gaan bepalen wat voor jou het handigste is.
 
- SanThe -

- SanThe -

21/11/2007 10:48:00
Quote Anchor link
guido schreef op 21.11.2007 10:41:
En zet hij automatisch de tijd er dan in

Computers doen nooit iets automatisch, tenzij ze daarvoor geprogrammeerd zijn.
 
Lars Koning

Lars Koning

21/11/2007 10:49:00
Quote Anchor link
Datemtime logisch nu ik erover nadenk maar mijn tweede vraag is hij zet het natuurlijk niet zelf in de database hoe pak ik dit aan?
 
Joren de Wit

Joren de Wit

21/11/2007 10:49:00
Quote Anchor link
Quote:
En zet hij automatisch de tijd er dan in of moet ik iets aanpassen in mijn artikel_toevoegen script?
Lijkt me dat je daarin wel iets moet aanpassen. Je wilt namelijk de huidige datum/tijd in de database invoeren tijdens het toevoegen.

Dit kun je heel eenvoudig met de sql functie NOW() doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
INSERT INTO tabel (titel, datumtijdveld)
VALUES ('titel', NOW())
 
Lars Koning

Lars Koning

21/11/2007 11:03:00
Quote Anchor link
Onderstaande heb ik nu echter zonder suc6

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
<?php
if(isset($_POST['knop'], $_POST['naam'], $_POST['omschrijving'], $_POST['prijs'])){
$sql = "INSERT INTO artikel (Naam, Omschrijving, Prijs) VALUES ('".$_POST["naam"]."', '".$_POST["omschrijving"]."', ".$_POST["prijs"].")";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen artikel mislukt!" . mysql_error();
        exit;
}
else {
$artikelid = mysql_insert_id(); // primaire sleutel van zojuist toegevoegde rij
$sql = "INSERT INTO categorie_per_artikel (Artikel_id, Categorie_id) VALUES ('".$artikelid."','".$_POST["categorieid"]."')";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen categorie mislukt!" . mysql_error();
        exit;
        }

$sql ="INSERT INTO artikel (toegevoegd,)";
VALUES ('titel', NOW())";
if (!mysql_query($sql)) { // voer SQL code uit
echo "
Toevoegen datumtijd mislukt!" . mysql_error();
        exit;
}
echo "
OK, uw advertentie ".$_POST["naam"]." is toegevoegd.";
}
else {
?>
 
- SanThe -

- SanThe -

21/11/2007 11:11:00
Quote Anchor link
Je moet zo te zien een heel duidelijke error krijgen.
 
Lars Koning

Lars Koning

21/11/2007 11:25:00
Quote Anchor link
Ja was weer te snel en te onzorgvuldig

hij POST nu 0000-00-00 00:00:00 in veld toegevoegd

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
<?php
if(isset($_POST['knop'], $_POST['naam'], $_POST['omschrijving'], $_POST

['prijs'])){
$sql = "INSERT INTO artikel (Naam, Omschrijving, Prijs) VALUES ('".$_POST

["naam"]."', '".$_POST["omschrijving"]."', ".$_POST["prijs"].")";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen artikel mislukt!" . mysql_error();
        exit;
}
else {
$artikelid = mysql_insert_id(); // primaire sleutel van zojuist toegevoegde rij
$sql = "INSERT INTO categorie_per_artikel (Artikel_id, Categorie_id) VALUES

('"
.$artikelid."','".$_POST["categorieid"]."')";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen categorie mislukt!" . mysql_error();
        exit;
        }

$sql ="INSERT INTO artikel (toegevoegd,) VALUES ('".$_POST["titel"].")";
}

echo "OK, uw advertentie ".$_POST["naam"]." is toegevoegd.";
}
else {
?>
 
Joren de Wit

Joren de Wit

21/11/2007 11:27:00
Quote Anchor link
Je voegt ook nergens met NOW() de huidige datum en tijd in?
 
- SanThe -

- SanThe -

21/11/2007 11:32:00
Quote Anchor link
SanThe schreef op 21.11.2007 11:11:
Je moet zo te zien nog steeds een heel duidelijke error krijgen.
 

Pagina: 1 2 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.