login  Naam:   Wachtwoord: 
Registreer je!
 Forum

id als standaardwaarde

Offline MothZone - 27/03/2006 13:55
Avatar van MothZonePHP ver gevorderde Hallo,
Is het mogelijk om in een rij (varchar) als standaardwaarde een stuk tekst in te stellen, met erachter het id-nummer wat op auto_increment staat?
Of moet je bij elke nieuwe rij eerst het id uit de database gaan halen om ze daarna met een stuk tekst ervoor er trug in te steken in een ander veld?

Alvast thx
Greetz Mothzone

12 antwoorden

Gesponsorde links
Offline Thomas - 27/03/2006 14:14
Avatar van Thomas Moderator ?
Als je een tabel-rij ophaalt heb je het id toch al?
Het is overbodig / redundant om je id in meerdere kolommen op te slaan.

Waarvoor heb je dat id precies nodig dan?
Offline MothZone - 27/03/2006 15:52
Avatar van MothZone PHP ver gevorderde Wel, als iemand een nieuw account maakt, krijgt hij normaal een id, wat bij elk systeem wel het geval zal zijn.

Als die persoon dan een bepaalde kolom niet invult, moet de waarde ervan wat tekst zijn (altijd zelfde) met erachter zijn id.

De tekst kan je gewoon via de standaardwaarde instellen in je database, maar dat hij het id erachter zet niet.
En dat is juist wat ik zoek.

Ik weet dat het ook met php kan, maar als het via mysql zelf kan zou het makkelijker zijn.
Offline Coolbean - 27/03/2006 16:19 (laatste wijziging 27/03/2006 16:23)
Avatar van Coolbean Nieuw lid edit: :had de vraag niet goed gelezen 
ik weet ook niet hoe dat moet srry.
Maar ik denk niet dat het mogelijk is om in een varchar tekst in te voegen. Dan zul je een niewe tabel moeten maken, dat daar iets ingevuld word als er iets niet gepost is.
Offline nielsvdwal - 27/03/2006 16:21 (laatste wijziging 27/03/2006 16:22)
Avatar van nielsvdwal PHP gevorderde if($blabla == 0)

$blabla = $_GET['blabla'];

edit
dan hebbe deze verbeteringe ook geen zin meer 
Offline MothZone - 27/03/2006 16:22
Avatar van MothZone PHP ver gevorderde @nielsvdwal:
lees

Citaat:
Ik weet dat het ook met php kan, maar als het via mysql zelf kan zou het makkelijker zijn.
Offline nielsvdwal - 27/03/2006 16:23
Avatar van nielsvdwal PHP gevorderde @mothzone.. ik had die scriptje van coolbeen verbeterd.. die hij alweer heeft weggehaald..
Offline MothZone - 27/03/2006 16:28
Avatar van MothZone PHP ver gevorderde ok, dacht dat je zo iemand was dat de vraag maar half las, sorry daarvoor:D
Offline Simon - 27/03/2006 16:36
Avatar van Simon PHP expert waarom wil je in godsnaam het id invullen bij een standaardwaarde, als hij iets niet invult, zorg je dat je standaardwaarde 'geen' is, dan doe je als volgt

  1. <?php
  2. // haal alles op en fetch het als bijv $opgehaald
  3. // stel dus dat 'naam' niet is ingevuld krijg je " " te zien,
  4. // anders gewoon de opgehaalde naam
  5. <?= ($opgehaald['naam'] != "geen") ? $opgehaald['naam'] : " " ; ?>
Offline MothZone - 27/03/2006 16:41
Avatar van MothZone PHP ver gevorderde @simon: dit stuk tekst komt nu al voor de 3de keer op deze pagina, [u]lees[/u] het dan is:

Citaat:
Ik weet dat het ook met php kan, maar als het via mysql zelf kan zou het makkelijker zijn.


En jou code is php, en niet iets instelbaar in de mysql-database.

Ik wil gewoon weten of het zo mogelijk is, als dit niet mogelijk is doe ik het wel met php, maar liever in mysql.
Offline Gerard - 27/03/2006 16:49 (laatste wijziging 27/03/2006 16:50)
Avatar van Gerard Ouwe rakker nee dit kan niet via mysql, next question plz.

ps. dit zou ook gewoon onbezonnen werk zijn omdat je altijd een frontend aan je database hangt en je dus -zoals fangorn terecht opmerkt- redundante informatie opslaat in je database, daar is het dus niet voor bedoelt.
Offline Thomas - 27/03/2006 16:56 (laatste wijziging 27/03/2006 16:56)
Avatar van Thomas Moderator Volgens mij kun je alleen voor of na de insert-query het auto-increment id opvragen (maar niet tijdens).

Hier heb je een aparte query voor nodig denk ik.
Het is niet verstandig om van tevoren dit id op te vragen (SELECT MAX(auto_increment_kolom)+1 FROM tabel ofzo), want het kan zijn dat er nog een andere INSERT-query tussendoor komt.

Beter is om achteraf met mysql_insert_id() (PHP) of LAST_INSERT_ID() (MySQL) het zojuist ingevoerde record te updaten. De waarde die deze functies retourneren zijn connectie-specifiek, en kunnen dus niet "gekruist" worden door andere INSERT-queries.
Offline MothZone - 27/03/2006 16:56
Avatar van MothZone PHP ver gevorderde Ok, bedankt, hier had ik tenminste nog wat aan.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.207s