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..
- Ariën - op 01/09/2023 14:48:35

Je zult een verborgen lege formulierelement input type="hidden" moeten aanmaken met bijv. de naam hiddenTextarea, en die de waarde geven van je contenteditable.


Heel simpel met:
input type="hidden" name="hiddenTextarea" id="hiddenTextarea"
In de editable div onchange="document.getElementById("hiddenTextarea").value = this.innerHTML;"

Dat kan je met alle editable velden doen en dan heb je slechts 1 submitknop nodig.
- Ariën - op 01/09/2023 15:19:27

Met AJAX maak je het wel makkelijker in gebruik doordat de request op de achtergrond plaatsvindt (a-synchroon).


A-synchroon met wat precies?

Bedankt voor alle hulp en toegestuurde links. ziet er allemaal uit zoals ik het graag zou willen. Maar uiteindelijk zal ik alles van het formuier moeten doorsturen naar een php bestand die de afhandeling doet. nu ben ik wel bekend met formulieren en php afhandeling. Maar als ik niet weet wat er vanuit het formulier verstuurd wordt weet ik toch ook niet welke data te verwerken? Zoals gezegd varieert de naam van de placeholder dat kan rij1titel1 zijn maar dus ook rij6titel2 en rij9titel1 of rij3tekst1 etc etc..
Nevenstaande link met dank aan arien ziet er wel uit met wat ik wil bereiken:
https://www.geeksforgeeks.org/what-is-an-asynchronous-request-in-ajax/

Maar heb geen idee hoe ik dit precies kan toepassen voor mijn doel.
Wellicht zie ik wel zaken over het hoofd en/of begrijp de oplossingen niet helemaal.Ik zal er nog eens dieper induiken en proberen het te begrijpen.
Met welke reden wil je op een pagina losse elementen hebben? Een hele pagina is toch beter? Anders moet je veel hardcoded gaan benoemen, lijkt me.
Hoi Arien. Dat heeft ermee te maken dat bij het bouwen van een pagina uit vele verschillende elementen kan worden gekozen. Zo kan ik een tekstblok kiezen, een heroheader, een headermenu, fotogallerij, up selling units etc. etc.. zo heb ik iets van 100 verschillende elementen. elk element dat in de pagina body wordt geplaatst krijgt een uniek rijnummer.
Maar vannochtend had ik de oplossing.
In de onderstaande tabel kan ik gewoon een extra kolom toevoegen met het desbetreffende rijnummer. Zo kan ik gewoon meerdere titel1 , titel2, tekstblok1 etc..hebben Maar ze hebben ieder hun eigen unieke rijnummer. zie de onderstaande tabel. soms is het simpeler dan het is.


id   placeholder   rij.   inhoud
1    titel1         1     hier een lap tekst
2    titel2         1     Dit is de titel
3.   tekstblok1.    1    tekst voor een tekstblok1
4.   buttontekst1.  1    button tekst
1    titel1         2    hier een lap tekst
2    titel2         2     Dit is de titel
3.   tekstblok1.    2    tekst voor een tekstblok1
4.   buttontekst1.  2    button tekst


Vervolgens kan ik per blok een update laten uitvoeren die verwijst naar het juiste rijnummer
alles updates kan ik uiteraard tegelijk dan laten oproepen middels 1 actie button.
Ik zit zelf ook met dit idee te worstelen, en ik moet het nog eens goed uitwerken.

Maar voor het nieuws op mijn site wil ik redactioneel ook losse widgets hebben om de pagina samen te stellen. Een poll erbij, of een gestylde blockquote, of een Youtube video of Tweet/X embedden.

Ik denk dat ik CKeditor wel zover kan krijgen. Misschien ook iets voor jou om over na te denken. Want waarom zou je de teksten los willen opslaan, en niet de hele pagina, met placeholders erin?
he arien. Op dit moment heb ik al een werkend systeem dat de hele body sectie opslaat. Dat is dus inc. styling en teksten etc.. dat gebeurd via de inner.html functie. enige minpunt hieraan is dat je dus via de inspector in de code zou kunnen rommelen. als ik alle teksten, links, afbeeldingen, kleur van tekst en buttons etc.. apart opsla via placeholders dan maakt het niet uit of men in de code rommelt. zie onderaan een voorbeeld van een herounit.


<div style="background-image: url(images/5-herosimpel/5-herosimpel.jpg)" alt="" title="" class="small-hero-bg-img fullsize-hero">
<div class="small-hero-text">
<br>
<h1 class="heading-medium font-white">Hier jouw titel</h1>
<h2 class="heading-small font-darkgrey">Hier jouw subtitel - hero 5 fullsize</h2>
<div class="container-flexbox-2-4">
<div class="box-flexbox-2-4">
 <div class="button-boxpulse">
 <a href="#" class="btn-pulse btn-pulse-white btn-pulse-animate" onclick="close_window();return false;">Ga Terug</a>
</div>
</div>
<div class="box-flexbox-2-4">
 <div class="button-container">
 <a href="#" class="button-slidein">Verder</a>
  </div> 
    </div>
    </div>
 </div>
  
</div>




[size=xsmall]Toevoeging op 02/09/2023 09:43:23:[/size]

he arien. Op dit moment heb ik al een werkend systeem dat de hele body sectie opslaat. Dat is dus inc. styling en teksten etc.. dat gebeurd via de inner.html functie. enige minpunt hieraan is dat je dus via de inspector in de code zou kunnen rommelen. als ik alle teksten, links, afbeeldingen, kleur van tekst en buttons etc.. apart opsla via placeholders dan maakt het niet uit of men in de code rommelt. zie onderaan een voorbeeld van een herounit.


<div style="background-image: url(images/5-herosimpel/5-herosimpel.jpg)" alt="" title="" class="small-hero-bg-img fullsize-hero">
<div class="small-hero-text">
<br>
<h1 class="heading-medium font-white">Hier jouw titel</h1>
<h2 class="heading-small font-darkgrey">Hier jouw subtitel - hero 5 fullsize</h2>
<div class="container-flexbox-2-4">
<div class="box-flexbox-2-4">
 <div class="button-boxpulse">
 <a href="#" class="btn-pulse btn-pulse-white btn-pulse-animate" onclick="close_window();return false;">Ga Terug</a>
</div>
</div>
<div class="box-flexbox-2-4">
 <div class="button-container">
 <a href="#" class="button-slidein">Verder</a>
  </div> 
    </div>
    </div>
 </div>
  
</div>




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

In elke tag en/of background image path, styling komt een placeholder te staan dan.
Uiteindelijk kan ik ook classes toevoegen. Maar zover ben ik nog helemaal niet
Kan je mij en de andere eens vertellen wat jij nou het minpunt vindt, van dat iemand in de Inspector aan de HTML rommelt?

Reageren