Laatste waarde uit mysql entry tonen op website

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Manfred vd waarsenburg

Manfred vd waarsenburg

31/12/2017 15:43:04
Quote Anchor link
Hallo Allemaal,

ik ben bezig met een hobbyproject (website voor Miatasatsevenum) hierbij heb ik met Fabrik een formulier gemaakt waarbij ik het ID wil gebruiken om op de website een teller te laten lopen van het aantal inschrijvingen.

nu heb ik in Joomla al een extension waarmee ik PHP script kan laden en de verbinding met de database is ook al tot stand gebracht

$conn = new mysqli($servername, $username, $password, $dbname);

maar nu wil ik de laatste entry van de database kolom "id" gebruiken om te tonen op de website.
ik heb hier het volgende voor bedacht alleen mijn kennis is niet toerijkend en werkt het dus ook niet

$sql = "SELECT id FROM inschrijfformulier";
{
echo "id: " . $sql["id"];
}

dit zal wel te simpel gedacht zijn, maar hoe zou het dan moeten ?
is er iemand die mij kan helpen met dit script ?

alvast bedankt

Grtz Manfred

Toevoeging op 01/01/2018 13:29:33:

Ik ben inmiddels al wat wijzer,
ik wil eigenlijk gewoon records tellen in een mysql db.
Echter uit mijn code komt geen result

// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$sql = mysqli_query("SELECT * FROM inschrijfformulier");
$itv = mysqli_num_rows($sql);
echo "a". $itv;
//mysqli_close($conn);

zou iemand eens kunnen kijken waar er verkeerd gaat ?

Grtz Manfred
 
PHP hulp

PHP hulp

19/04/2024 21:43:06
 
- Ariën  -
Beheerder

- Ariën -

01/01/2018 13:56:25
Quote Anchor link
Voor het gemak zou ik procedureel (de mysqli_***() functies) en object-oriënted (objecten en dus met een '->') niet door elkaar gebruiken. Het kán wel, maar het kan wel verwarrend werken.

Tevens zou ik eens goede foutafhandeling gebruiken met mysqli_error(....)

Verder heb we ook code-tags op het forum om code-blokken beter leesbaarder te maken. Zie de 'Veelgestelde Vragen'.
Gewijzigd op 01/01/2018 13:57:36 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

01/01/2018 18:53:59
Quote Anchor link
Je selecteert nergens een database, dit is de vierde parameter van mysqli_connect.

En wat @Ariën zegt, MySQLi werkt met objecten, dus er is iets voor te zeggen om enkel de object georiënteerde variant te gebruiken.

Daarnaast is mysqli_connect een alias. Aliassen hebben een nogal onzeker bestaan en kunnen mogelijk (voortijdig) geschrapt worden. Reden te meer om gewoon van de OOP-variant gebruik te maken. Of in ieder geval het gebruik van aliassen te vermijden.
Gewijzigd op 01/01/2018 18:57:42 door Thomas van den Heuvel
 
Manfred vd waarsenburg

Manfred vd waarsenburg

02/01/2018 18:57:27
Quote Anchor link
**quoteknip**

Oke bedankt voor de info.
Kunnen jullie een advies geven hoe ik het dan het beste kan oplossen.

Grtz Manfred

Edit:
Quote uit laatst voorgaande bericht weggehaald. Het is niet nodig om dit te quoten.
Gewijzigd op 02/01/2018 19:04:02 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

02/01/2018 19:02:19
Quote Anchor link
Ik zou als eerst een database meegeven in de vierde parameter van mysqli_connect()

Verder raad ik aan om te verdiepen in de OO-variant van MySQLi. Dus met de pijltjes ( -> ).
 
Ivo P

Ivo P

03/01/2018 11:05:41
Quote Anchor link
om nog op de vraag zelf in te gaan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = mysqli_query("SELECT * FROM inschrijfformulier");


je mist hier een parameter: $conn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = mysqli_query($conn, "SELECT * FROM inschrijfformulier");


Maar je kunt je indenken dat SELECT * in veel toepassingen nogal wat data op gaat leveren. Vergelijk: in de supermarkt je als manager afvragen hoeveel cola er nog staat en je medewerker 4 pallets aan kratten op laten halen naar kantoor en tot de conclusie komen dat er 400 flessen zijn.

Je had ook de medewerker het magazijn in kunnen sturen met de vraag "tel de cola flessen" en hem met het kladje met het getal "400" terug kunnen laten komen.

Oftewel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = mysqli_query($conn, "SELECT COUNT(*) AS aantal FROM inschrijfformulier");


Bij 10 inschrijvingen met een naam en een emailadres merk je het verschil waarschijnlijk niet zo erg.
Maar als de query's ingewikkelder worden, en uit meerdere tabellen informatie moeten halen je uiteindelijk aan het getal 400.000 komt, ga je merken dat je vele MB's vanuit je database verzamelt (en evt. naar PHP overpompt.)
Zeker in combinatie met de * uit de query, waarbij je misschien ongemerkt ook nog de pdf-handleiding en een hi-res foto mee pakt van je producten.

Beter wen je je dan aan om te pakken wat je nodig hebt: alleen het aantal
Gewijzigd op 03/01/2018 12:09:03 door Ivo P
 
Manfred vd waarsenburg

Manfred vd waarsenburg

05/01/2018 21:36:08
Quote Anchor link
Hallo allemaal,

Ik heb het inmiddels werkend, bedankt voor de hulp
 



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.