Stel ik heb in mijn database 2 veldnamen en wel content1 en content2. Content1 bavat alle namen van variabelen die doormiddel van een php script zijn aangemaakt. De namen van deze variabelen worden ook in een php document gebruikt om de inhoud daarvan weer te geven (zie verder onderaan). De inhoud van content1 zijn elk uniek en worden door een php script dus gegenereerd. veldnaam "content2". bevat de inhoud die aan deze variable is/wordt toegekend.

Hieronder een voorbeeld hoe het eruit zou kunnen zien:

Content1 bevat bijvoorbeeld de volgende variablenamen:

rij1titel1
rij1titel2
rij90tekst1
rij90tekst2

De repec. waardes in content2 bevatten bijvoorbeeld

hallo iedereen
Welkom iedereen
Dit huis is blauw
Deze tandenborstel is rood

dus rij1titel1 = hallo iedereen
etc..


zie de onderstaande code die ik momenteel heb. Hierdoor wordt alles uit de database dus ingelezen. Maar hoe kan ik nu ervoor zorgen dat de variabelen namen uit de database worden toegewezen en vervolgens kunnen worden weergegeven? beetje verwarrend wellicht wat ik bedoel. Hoop dat het een beetje duidelijk is wat ik wil. Weet ook niet of dit uberhaupt mogelijk is!!

Via onderstaande script wordt alles dus ingelezen


<?php

$servername = "xxxxx";
$username = "xxxx";
$password = "xxxx";
$dbname = "xxxxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, content1, content2 FROM content2";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Content1: " . $row["content1"]. " - content2: " . $row["content2"]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close();
?>


Wat er vervolgens zou moeten eigenlijk is dat onderstaande als het ware automatisch zou moeten worden aangemaakt. Dit kan ik dus niet handmatig aanmaken, omdat ik niet weer welke variablenamen in de database voorkomen!!

$rij1titel1 = $row['rij1titel1'];
$rij1titel2 = $row['rij1titel2'];
$rij90tekst1 = $row['rij90tekst1'];
$rij90tekst2 = $row['rij90tekst2'];

zit zorgt er uiteindelijk ook voor dat ik de inhoud kan worden weergeven in php


<h1>Onderstaand de weergave van de inhoud</h1>
<h1 contenteditable="plaintext-only"><?php echo $rij1titel1; ?></h1>
<h2 contenteditable="plaintext-only"><?php echo $rij1titel2; ?></h1>

<p contenteditable="plaintext-only"><?php echo $rij90tekst1; ?></p>
<p contenteditable="plaintext-only"><?php echo $rij90tekst2; ?></h1>


h1 zou dus "hallo iedereen" moeten weergeven etc.. etc..
Maar je bent toch altijd afhankelijk van updates van de ontwerper? kijk maar naar wixs of zo. daar moeten mensen van het bedrijf ook updates uitvoeren. ook bij wordpress moet je updates uitvoeren. ken mensen die zelf een wordpress site hebben gemaakt en die geen updates hebben uitgevoerd met de consequentie dat de site niet meer draait.

[size=xsmall]Toevoeging op 02/09/2023 13:00:00:[/size]

- Ariën - op 02/09/2023 12:54:25

Okay dan. Maar maak het jezelf niet te moeilijk, want ik heb het idee dat je het nodeloos complex lijkt te maken.


nee ik maak het mij ook niet te moeilijk. wat ik nu heb is vrij korte scripting.
Voor opmaak van tekst etc. in de editor heb ik wel wat javascript nodig uiteraard.
daarom kies ik voor oplossingen die qua werking eingelijk heel simpel zijn.
Maar als de site eenmaal draait dan zal de site nooit zomaar niet meer functioneren. een onderdeel kan wellicht niet meer draaien, maar zoals ik al zei heb ik slechts 1 keer meegemaakt.
Klopt, maar vaak zijn er ook dingen die gewoon blijven werken bij een update aan PHP. Soms helaas niet, als ik bijv. naar de oude MySQL-driver van PHP kijk die in PHP 7 eruit ging, en iedereen aan werd geen om MySQLi te gebruiken.

Aan de bouwer de taak om de motor van de site te updaten.
ja dat klopt zeker. maar hopelijk begrijp je nu een beetje wat mijn doel is.
Ja, maar ik vind het geen sterk standpunt hoor. ;-)

Reageren