Kolom importeren in bestaande tabel
Ik werk localhost in de BackUp van de site dus geen gevaar dat er iets definitief verkeerd gaat maar bedankt voor de opmerking.
Het lukt nog steeds niet om de code werkend te krijgen. Voor 'username' en 'password' vul ik 'root' en '' in zoals ik bij installatie heb ingesteld.
Met de code bij 2.IvoP hierboven en afsluitend met jouw code om de hits over te zetten ben ik er bijna echter missen de overige kolommen nog. Is het wellicht ook mogelijk om die nog toe te voegen middels de SQL tab?
Het lukt nog steeds niet om de code werkend te krijgen. Voor 'username' en 'password' vul ik 'root' en '' in zoals ik bij installatie heb ingesteld.
Met de code bij 2.IvoP hierboven en afsluitend met jouw code om de hits over te zetten ben ik er bijna echter missen de overige kolommen nog. Is het wellicht ook mogelijk om die nog toe te voegen middels de SQL tab?
Je bedoelt de SQL tab van phpMyAdmin ?
Kijk onder de tab Structuur van de tabel die je wil aanpassen en dan zie je [1] Kolom(men) toevoegen na [...]
Klik op de Starten knop en je kunt je nieuwe kolom voorzien van een Naam, type, lengte etc.
Toevoeging op 01/04/2022 00:04:56:
Of in de sql tab met de query
Waarbij varchar een van de vele mogelijke datatypen is en 255 is de lengte, in dit geval het aantal karakters (wat ook niet de waarheid is maar dat laten we maar even in het midden)
Kijk onder de tab Structuur van de tabel die je wil aanpassen en dan zie je [1] Kolom(men) toevoegen na [...]
Klik op de Starten knop en je kunt je nieuwe kolom voorzien van een Naam, type, lengte etc.
Toevoeging op 01/04/2022 00:04:56:
Of in de sql tab met de query
Waarbij varchar een van de vele mogelijke datatypen is en 255 is de lengte, in dit geval het aantal karakters (wat ook niet de waarheid is maar dat laten we maar even in het midden)
Sorry voor mijn onvolledigheid. Zoals je eerder aangaf ben ik begonnen met een lege tabel met alle kolommen maar zonder records. Na de voorgaande SQL code (in de tab van phpadmin) zijn nu id, title, created en hits netjes overgenomen maar mis ik nog de inhoud van de andere kolommen.
Oke en die inhoud is wel aanwezig in de oude tabel neem ik aan?
Het is dan gewoon een kwestie van je Query uitbreiden van
naar
Als voorbeeld met 6 kolommen in plaats van 3 en ook 6 vraagtekens in de query in plaats van 3.
Als je er niet uitkomt is het misschien handig om even de structuur van je oude tabel te exporteren en dan het sql bestand te openen en het stukje met CREATE TABLE hier te delen. Je krijgt dan zoiets:
Wij weten dan ook welke kolommen je hebt.
Het is dan gewoon een kwestie van je Query uitbreiden van
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$sql = "INSERT INTO 'deb27035_joomla'.'kjmm_content-nieuw' (id, title, created) VALUES (?,?,?)";
$stmt2 = $pdo->prepare($sql);
$stmt2->execute([$id++, $row['title'], $row['created']]);
?>
$sql = "INSERT INTO 'deb27035_joomla'.'kjmm_content-nieuw' (id, title, created) VALUES (?,?,?)";
$stmt2 = $pdo->prepare($sql);
$stmt2->execute([$id++, $row['title'], $row['created']]);
?>
naar
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$sql = "INSERT INTO 'deb27035_joomla'.'kjmm_content-nieuw' (id, title, created, col4, col5, col6) VALUES (?,?,?,?,?,?)";
$stmt2 = $pdo->prepare($sql);
$stmt2->execute([$id++, $row['title'], $row['created'], $row['col4'], $row['col5'], $row['col6']]);
?>
$sql = "INSERT INTO 'deb27035_joomla'.'kjmm_content-nieuw' (id, title, created, col4, col5, col6) VALUES (?,?,?,?,?,?)";
$stmt2 = $pdo->prepare($sql);
$stmt2->execute([$id++, $row['title'], $row['created'], $row['col4'], $row['col5'], $row['col6']]);
?>
Als voorbeeld met 6 kolommen in plaats van 3 en ook 6 vraagtekens in de query in plaats van 3.
Als je er niet uitkomt is het misschien handig om even de structuur van je oude tabel te exporteren en dan het sql bestand te openen en het stukje met CREATE TABLE hier te delen. Je krijgt dan zoiets:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
--
-- Tabelstructuur voor tabel `faq`
--
CREATE TABLE `faq` (
`id` int(11) NOT NULL,
`question` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL,
`answer` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`position` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Tabelstructuur voor tabel `faq`
--
CREATE TABLE `faq` (
`id` int(11) NOT NULL,
`question` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL,
`answer` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`position` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Wij weten dan ook welke kolommen je hebt.
Gewijzigd op 01/04/2022 19:15:30 door Frank Nietbelangrijk
Ik heb de query uitgebreid zoals jij voorstelde maar ik heb dat wel gedaan onder de SQL tab in phpMyAdmin. Ik "ontdekte" dat hier ook de kolommen netjes worden weergegeven dus die kon ik één voor één aanklikken om in te voegen (Het zijn er 31). Resultaat is dat in de gehele tabel de ID's nu geordend zijn.
Tenslotte met jouw code de actuele hits overgezet. Met enkele steekproeven lijken de hits bij de juiste artikelen te staan.
Het heeft "even" geduurd maar het lijkt nu in orde te zijn. Hartelijk dank voor je hulp.
Tenslotte met jouw code de actuele hits overgezet. Met enkele steekproeven lijken de hits bij de juiste artikelen te staan.
Het heeft "even" geduurd maar het lijkt nu in orde te zijn. Hartelijk dank voor je hulp.
Goed om te horen :-)




