Beste mensen,
Hoe kun je een tabel automatisch een unieke naam geven? Dus telkens wanneer het script aangeroepen wordt, dat er een table wordt gemaakt met een unieke naam.
Ik had: CREATE TABLE AUTO_INCREMENT
Maar dat werkt niet.
Alvast bedankt
Mvg,
Mohamed
- Hoe geef je een tabel, automatisch een willekeurige naam?
-
09-08-2009, 14:17 #1
- Berichten
- 821
- Lid sinds
- 16 Jaar
Hoe geef je een tabel, automatisch een willekeurige naam?
-
-
09-08-2009, 14:32 #2
- Berichten
- 89
- Lid sinds
- 15 Jaar
je zou het SQL STATEMENT automatische genereren en hierin bijv de php instructie time() kunnen gebruiken? (is alleen niet uniek als het in dezelfde seconde aangeroepen gaat worden)
anders kijken naar guid achtig iets?
-
09-08-2009, 14:38 #3
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
Het is nogal schokkend eerlijk gezegd...
-
09-08-2009, 15:32 #4
- Berichten
- 821
- Lid sinds
- 16 Jaar
Ik wil het gebruiken voor een site waar je een eigen startpagina aan kan maken.
Met dit wil ik dan bij elk nieuw aangemaakte startpagina een aparte tabel aanmaken, als je alle startpagina's in 1 tabel doet, dan gaat het niet goed.
Want als je een link toevoegt bij ajax.domein.nl dan wordt de link ook toegevoegt op lenen.domein.nl.
Daarvoor wil ik het gebruiken.
Mvg,
Mohamed
-
09-08-2009, 15:34 #5
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
als je alle startpagina's in 1 tabel doet, dan gaat het niet goed.
Want als je een link toevoegt bij ajax.domein.nl dan wordt de link ook toegevoegt op lenen.domein.nl.
Daarvoor wil ik het gebruiken.
Aanvullend bericht:
Je hebt een tabel "startpaginas" daar zet je de basis gegevens in en bevat natuurlijk een ID. Dit ID is de koppeling tussen al je andere tabellen dus alsvolgt:
Een tabel "links" bevat dus de gegevens van een link PLUS de koppelings ID van de juiste startpagina. Je selecteert het dus eenvoudig door:
SELECT veld, veld, veld FROM links WHERE koppelingsid = ".$startpaginaID."
Aanvullend bericht:
Reden waarom jij niet per startpagina een tabel mag aanmaken:
- Wordt een enorme bende in je database.
- Wijzigingen / uitbreidingen aan het systeem worden onmogelijk.
- Daar is een database gewoon weg niet voor bedacht.
Wellicht is het een idee om een boek te gaan lezen over database structuren en modellering.Laatst aangepast door Arek van Schaijk : 09-08-2009 om 15:37 Reden: Automatisch samengevoegd.
-
09-08-2009, 19:45 #6
- Berichten
- 821
- Lid sinds
- 16 Jaar
Met guid wil het niet lukken.
Kan iemand uitleggen hoe het werkt met het SQL STATEMENT i.c.m time(), want ik kom er zelf niet uit.
Mvg,
Mohamed
-
09-08-2009, 19:46 #7
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
Waarom negeer je mijn 3 bovenstaande berichten? Negeren helpt je niet om je kwaliteiten te verbeteren.
Nogmaals: Ik beweer hard dat het makkelijker / beter kan ik snap niet waarom je daar dan geen gehoor aan geeft en alsnog moeilijk gaat doen??
-
09-08-2009, 19:52 #8
- Berichten
- 50
- Lid sinds
- 16 Jaar
sluit me aan bij a van schayk, je probeert het op de verkeerde manier....een goed ontworpen database is de basis van een goede db gestuurde website....zonder dat gaat het al bij de start verkeerd
-
09-08-2009, 20:17 #9
- Berichten
- 89
- Lid sinds
- 15 Jaar
Het is inderdaad beter een veld in de database op te nemen voor de betreffende sub pagina, ik was in de veronderstelling dat Dhr. Mohamed A. expliciet dit nodig had voor een install script oid.
-
09-08-2009, 20:20 #10
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
Het is alleen jammer dat Mohamed hier geen gehoor naar geeft.
Ik zelf herken dit soort dingen van mezelf nog toen ik PHP nog aan het leren was. Met een luisterend oor leer je het meest maar goed.... Wie niet luisteren wilt moet maar... uh... uh... moet maar niet reageren?
-
09-08-2009, 20:25 #11
- Berichten
- 821
- Lid sinds
- 16 Jaar
Het is alleen jammer dat Mohamed hier geen gehoor naar geeft.
Ik zelf herken dit soort dingen van mezelf nog toen ik PHP nog aan het leren was. Met een luisterend oor leer je het meest maar goed.... Wie niet luisteren wilt moet maar... uh... uh... moet maar niet reageren?
Je hbet inderdaad gelijk, ik zal jouw manier toepassen.
Mvg,
Mohamed
Aanvullend bericht:
Maar hoe koppel je een uniek ID aan elke nieuw aangemaakte startpagina?Laatst aangepast door Mohamed A : 09-08-2009 om 20:26 Reden: Automatisch samengevoegd.
-
09-08-2009, 20:35 #12
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
Gehoorapparaat gevonden? Ik vind het prima om dit soort dingen uit te leggen maar neem dan eens iets direct aan van de mensen die al iets verder zijn in dit soort dingen dan jijzelf. Ik zelf heb ook via die weg mezelf moeten professionelen dus gun ik dat een ander ook door antwoord te geven op een vraag. Het is dan niet netjes als je iemand negeert.
Buiten dat is het heel erg simpel, vergeet die tabellen per startpagina dat is te omslachtig dat gaat nooit niet goed werken, geloof me nooit niet is dus ook echt nooit niet...
Om te beginnen ga je een tabel aanmaken met alle startpagina's daarin en de standaard gegevens die je daarbij nodig hebt. Zoiets als dit:
# startpaginas
id (auto increment)
pagina_naam
registratie_datum
laatste_wijzig_datum
aantal_keer_bekeken
De namen heb ik wat omslachtig neer gezet zodat je direct ziet waar ik op doel. De auto increment zorgt ervoor dat bij een INSERT de row standaard een "unieke" id krijgt. Dat kun je dus gebruiken om uiteindelijk een link te leggen.
De volgende tabel is de tabel met de links, die ziet er dus ongeveer zo uit:
# links
id (auto increment)
startpagina_id
link_naam
link_adres
link_omschrijving
Wanneer je een link weg schrijft in die tabel vul je dus bij startpagina_id de id in van de startpagina waarvoor de link bestemd is. Als je dan vervolgens in je SELECT querie de juiste gegevens opvraagt heb je de link succesvol gelegd bijvoorbeeld:
SELECT veldnaam, veldnaam2, veldnaam3 FROM links WHERE startpagina_id = ....
-
10-08-2009, 12:06 #13
- Berichten
- 821
- Lid sinds
- 16 Jaar
Gehoorapparaat gevonden? Ik vind het prima om dit soort dingen uit te leggen maar neem dan eens iets direct aan van de mensen die al iets verder zijn in dit soort dingen dan jijzelf. Ik zelf heb ook via die weg mezelf moeten professionelen dus gun ik dat een ander ook door antwoord te geven op een vraag. Het is dan niet netjes als je iemand negeert.
Buiten dat is het heel erg simpel, vergeet die tabellen per startpagina dat is te omslachtig dat gaat nooit niet goed werken, geloof me nooit niet is dus ook echt nooit niet...
Om te beginnen ga je een tabel aanmaken met alle startpagina's daarin en de standaard gegevens die je daarbij nodig hebt. Zoiets als dit:
# startpaginas
id (auto increment)
pagina_naam
registratie_datum
laatste_wijzig_datum
aantal_keer_bekeken
De namen heb ik wat omslachtig neer gezet zodat je direct ziet waar ik op doel. De auto increment zorgt ervoor dat bij een INSERT de row standaard een "unieke" id krijgt. Dat kun je dus gebruiken om uiteindelijk een link te leggen.
De volgende tabel is de tabel met de links, die ziet er dus ongeveer zo uit:
# links
id (auto increment)
startpagina_id
link_naam
link_adres
link_omschrijving
Wanneer je een link weg schrijft in die tabel vul je dus bij startpagina_id de id in van de startpagina waarvoor de link bestemd is. Als je dan vervolgens in je SELECT querie de juiste gegevens opvraagt heb je de link succesvol gelegd bijvoorbeeld:
SELECT veldnaam, veldnaam2, veldnaam3 FROM links WHERE startpagina_id = ....
Ik snap het niet helemaal.
Mijn code is dit:
PHP Code:$Verbinding = mysql_connect($_CONFIG["Host"], $_CONFIG["Username"], $_CONFIG["Password"]);
if($Verbinding == false) // Verbinding is mislukt!
{
trigger_error("Kan geen verbinding maken met de database");
}
$DbSelect = mysql_select_db($_CONFIG["Database"], $Verbinding);
if ($DbSelect == false)
{
trigger_error("Kan de database niet selecteren");
}
$Result = mysql_query('
CREATE TABLE startpaginas
(
`id` INT NOT NULL AUTO_INCREMENT,
`subdomein` VARCHAR(255),
PRIMARY KEY (`id`)
)
CREATE TABLE onderdelen
(
`id` INT NOT NULL AUTO_INCREMENT,
`subdomein_id` ,
`advertentie` ,
`categorie` ,
`categorie_links` ,
`categorie_rechts` ,
`config` ,
`header` ,
`links_header` ,
`links_links` ,
`links_rechts` ,
PRIMARY KEY (`id`)
)
', $Verbinding);
if($Result == false)
{
trigger_error("Kan de tabel niet aanmaken! Waarschijnlijk bestaat de tabel al.");
}
else
{
echo "De tabel is succesvol aangemaakt";
}
mysql_close($Verbinding);
?>
Ik krijg telkens de foutmelding, tabel bestaat al.Laatst aangepast door Mohamed A : 10-08-2009 om 12:07 Reden: Automatisch samengevoegd.
-
10-08-2009, 12:12 #14
- Berichten
- 249
- Lid sinds
- 17 Jaar
Dat is logisch als je goed naar de code kijkt zie je dat er steeds een nieuwe tabel wordt aangemaakt als dit script wordt aangeroepen, dat kan dus niet, elke tabel moet een unieke naam hebben.
-
10-08-2009, 12:13 #15
- Berichten
- 89
- Lid sinds
- 15 Jaar
Je hebt nu in de Query toch nog steeds het CREATE statement staan.
Tabellen aanmaken, bewerken kan het makkelijkste met phpmyadmin. Vervolgens kan je een SELECT query gebruiken met een WHERE clause met het unieke ID.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic