Mysql wijzigen met de WhizzyWig editor!

Status
Niet open voor verdere reacties.

BoukeWeening

Gebruiker
Lid geworden
3 apr 2007
Berichten
232
Ik ben bezig met een klein CMS systeempje, met een Mysql database erachter, en ik ben al zover dat ik nieuws kan plaatsen via een whizzywig editor, maar hoe kan ik deze dan weer wijzigen?? Ik wou het ongeveer zo hebben:

Via een button vraag ik alle records (nieuwsberichten) op. ik kan dan op een van deze berichten klikken en deze dan wijzigen...

De tabel nieuws heeft de volgende velden:

ID (primaire key)
Date (auto)
Titel
Headline
Text

Iemand een idee/ervaring hiermee??

Greetz
 
Ik ben bezig met een klein CMS systeempje, met een Mysql database erachter, en ik ben al zover dat ik nieuws kan plaatsen via een whizzywig editor, maar hoe kan ik deze dan weer wijzigen?? Ik wou het ongeveer zo hebben:

Via een button vraag ik alle records (nieuwsberichten) op. ik kan dan op een van deze berichten klikken en deze dan wijzigen...

De tabel nieuws heeft de volgende velden:

ID (primaire key)
Date (auto)
Titel
Headline
Text

Iemand een idee/ervaring hiermee??

Greetz
Bedoel je hoe je het dan weer kan opslaan? Ja:
Code:
$sql = "UPDATE `naam tabel` SET `geupdate info` = '"variable met de info"' WHERE `id nummer voor update` = 'plek waar je de id vandaan haalt"'";
            mysql_query($sql);
Nee:

Kan je je vraag anders forumuleren?
 
Bedoel je hoe je het dan weer kan opslaan? Ja:
Code:
$sql = "UPDATE `naam tabel` SET `geupdate info` = '"variable met de info"' WHERE `id nummer voor update` = 'plek waar je de id vandaan haalt"'";
            mysql_query($sql);
Nee:

Kan je je vraag anders forumuleren?

Nee, dat is het niet helemaal... ik vul de nieuwsberichten met een whizzywig editor. Nu wil ik deze ook via deze editor kunnen bewerken en opslaan.

Dus dat ik de lijst met nieuws berichten uit de database haal, dat ik op een bepaalde nieuwsbericht klik en dat ik deze dan kan bewerken en kan opslaan...

greetz
 
Nee, dat is het niet helemaal... ik vul de nieuwsberichten met een whizzywig editor. Nu wil ik deze ook via deze editor kunnen bewerken en opslaan.

Dus dat ik de lijst met nieuws berichten uit de database haal, dat ik op een bepaalde nieuwsbericht klik en dat ik deze dan kan bewerken en kan opslaan...

greetz
OK,

Kan je even laten zien hoe je het invult? Ik heb namelijk nog geen ervaring en misschien kan ik je als nog helpen.
 
PHP:
<?php

include("../config.php");
require_once("../login.php");


// Connecting, selecting database
$link = mysql_connect('localhost', 'mysql_naam', 'wachtwoord')
    or die('Could not connect: ' . mysql_error());
// echo 'Connected successfully';
mysql_select_db('zoetenzacht_nl') or die('Could not select database');

if(isset($_POST['add_page'])) {
  $query = "INSERT INTO `nieuws` (`datum` , `titel` , `headline` , `text` ) VALUES ( NOW( ) , '".$_POST['titel']."', '".$_POST['headline']."', '".$_POST['text']."');";
  $result = mysql_query($query) or die('Query failed: ' . mysql_error());
}

?>

<form method="post" action="?ac=add_news">
	<p>Titel van het nieuwsbericht:</p>
	<input type="text" name="titel" size="80"  />
	<p>Headline van het nieuwsbericht:</p>
   	<textarea name="headline" id="headline" style="width:95%; height:100px" > </textarea>
		<script type="text/javascript">
		buttonPath = "button/"; //directory holding button images
		makeWhizzyWig("headline", "all");
		</script>
		<p>Het Nieuwsbericht (inclusief headline):</p>
	<textarea name="text" id="text" style="width:95%; height:200px" > </textarea>
		<script type="text/javascript">
			makeWhizzyWig("text", "all");
		</script>
	<input type="submit" name="add_page" value="Voeg nieuws toe" />
	<p>Als je plaatjes wil bijvoegen in het nieuwsbericht moet je eerst de plaatjes uploaden via het menuitem: "Plaatje Uploaden". Je krijgt hier dan een link die je kunt gebruiken in de editor.</p>
</form>

op deze manier vul ik dus de velden... en die roep ik dus in de pagina weer aan... maar zo wil ik ze dus ook kunnen wijzigen... dus dat ik ze opvraag en dat ik ze dan in deze editor kan wijzigen en kan updaten...
 
Laatst bewerkt:
PHP:
<?php

include("../config.php");
require_once("../login.php");


// Connecting, selecting database
$link = mysql_connect('localhost', 'mysql_naam', 'wachtwoord')
    or die('Could not connect: ' . mysql_error());
// echo 'Connected successfully';
mysql_select_db('zoetenzacht_nl') or die('Could not select database');

if(isset($_POST['add_page'])) {
  $query = "INSERT INTO `nieuws` (`datum` , `titel` , `headline` , `text` ) VALUES ( NOW( ) , '".$_POST['titel']."', '".$_POST['headline']."', '".$_POST['text']."');";
  $result = mysql_query($query) or die('Query failed: ' . mysql_error());
}

?>

<form method="post" action="?ac=add_news">
	<p>Titel van het nieuwsbericht:</p>
	<input type="text" name="titel" size="80"  />
	<p>Headline van het nieuwsbericht:</p>
   	<textarea name="headline" id="headline" style="width:95%; height:100px" > </textarea>
		<script type="text/javascript">
		buttonPath = "button/"; //directory holding button images
		makeWhizzyWig("headline", "all");
		</script>
		<p>Het Nieuwsbericht (inclusief headline):</p>
	<textarea name="text" id="text" style="width:95%; height:200px" > </textarea>
		<script type="text/javascript">
			makeWhizzyWig("text", "all");
		</script>
	<input type="submit" name="add_page" value="Voeg nieuws toe" />
	<p>Als je plaatjes wil bijvoegen in het nieuwsbericht moet je eerst de plaatjes uploaden via het menuitem: "Plaatje Uploaden". Je krijgt hier dan een link die je kunt gebruiken in de editor.</p>
</form>

op deze manier vul ik dus de velden... en die roep ik dus in de pagina weer aan... maar zo wil ik ze dus ook kunnen wijzigen... dus dat ik ze opvraag en dat ik ze dan in deze editor kan wijzigen en kan updaten...
Weet jij wel hoe je de text in de textbox kan krijgen? Ik niet. En kan je anders niet gewoon
Code:
updateWhizzyWig ("headline, all");
doen. Nee dan kan ik je helaas niet verder helpen.

SUCCES:thumb:
 
nee, dat weet ik dus ook niet... maar goed, ik ga verder met uitzoeken... ik hoop dat anderen mij kunnen helpen op dit forum... en als ik er anders achter kom dat post ik het hier wel even!!!
 
nee, dat weet ik dus ook niet... maar goed, ik ga verder met uitzoeken... ik hoop dat anderen mij kunnen helpen op dit forum... en als ik er anders achter kom dat post ik het hier wel even!!!
OK

Jammer dat ik je niet kon helpen.

SUCCES verder:thumb:
 
Dit is mijn script van mijn CMS systeempje:

PHP:
<?php

include("../config.php");
require_once("../login.php");


// Connecting, selecting database
$link = mysql_connect('localhost', 'mysql_naam', 'wachtwoord')
    or die('Could not connect: ' . mysql_error());
// echo 'Connected successfully';
mysql_select_db('mysql_naam') or die('Could not select database');

if(isset($_POST['add_page'])) {
  $query = "INSERT INTO `nieuws` (`datum` , `titel` , `headline` , `text` ) VALUES ( NOW( ) , '".$_POST['titel']."', '".$_POST['headline']."', '".$_POST['text']."');";
  $result = mysql_query($query) or die('Query failed: ' . mysql_error());
}

?>

<form method="post" action="?ac=add_news">
    <p>Titel van het nieuwsbericht:</p>
    <input type="text" name="titel" size="80"  />
    <p>Headline van het nieuwsbericht:</p>
       <textarea name="headline" id="headline" style="width:95%; height:100px" > </textarea>
        <script type="text/javascript">
        buttonPath = "button/"; //directory holding button images
        makeWhizzyWig("headline", "all");
        </script>
        <p>Het Nieuwsbericht (inclusief headline):</p>
    <textarea name="text" id="text" style="width:95%; height:200px" > </textarea>
        <script type="text/javascript">
            makeWhizzyWig("text", "all");
        </script>
    <input type="submit" name="add_page" value="Voeg nieuws toe" />
    <p>Als je plaatjes wil bijvoegen in het nieuwsbericht moet je eerst de plaatjes uploaden via het menuitem: "Plaatje Uploaden". Je krijgt hier dan een link die je kunt gebruiken in de editor.</p>
</form>

Hiermee voeg ik dus nieuws toe, doormiddel van het invoeren van een titel, een headline en de tekst. hiervoor maak ik gebruik van de WhizzyWig editor, deze kun je in je website/cms plaatsen.

Nu wil ik net zo'n soort systeem inbouwen maar dan om mijn nieuws items te bewerken. Heeft iemand enig idee hoe ik de nieuws items kan ophalen uit de database, importeren in de WhizzyWig editor en kan bewerken en weer kan opslaan/updaten?

Alvast bedankt!!

Greetz,

:eek:
 
Een link naar de werking van dat WhizzyWig script zou handig zijn...

Hoe sla je trouwens de inhoud ervan op in een database? Als type TEXT? En wordt er dan HTML opgeslagen?
 
Ik heb nu dit:

PHP:
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'mysql_database, 'wachtwoord')
    or die('Could not connect: ' . mysql_error());
    mysql_select_db('mysql_database') or die('Could not select database');

// Performing SQL query
$query = 'SELECT * FROM `nieuws` ORDER BY datum DESC LIMIT 0, 30';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// Printing results in HTML
?>


  <?
  while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    ?>
   <a href="?page=edit&id=".<? echo $data['id'] ?>.""><? echo $line['titel'] ?></a><br/>
  <?
}
?>



<?

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
?>

nu geeft hij dus ind. keurig mijn lijst met nieuws items... en ik kan er op klikken... Maar verder kom ik niet... Hoe moet ik het nu verder doen?? Als ik er op klik moet ik de nieuws items dus weer aan kunnen passen... dus moeten de nieuwsitems geplaatst worden in een formulier...
 
Zoals je wellicht zelf zit is de bovenstaande code zo lek als een mandje...

Door verkeerd gebruik van quotes worden delen van de code niet eens uitgevoerd en de kans is groot dat als ze al worden uitgevoerd ze niet het gewenste resultaat zullen opleveren...

Probeer dit eens:
PHP:
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'mysql_database', 'wachtwoord') or die(mysql_error());
mysql_select_db('mysql_database') or die('Could not select database');

// Performing SQL query
$query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 30";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

while ($line = mysql_fetch_array($result))
{
 echo '<a href="?page=edit&id='. $line['id'] .'">'. $line['titel'] .'</a><br/>';
}
?>

Op de edit page zul je waarschijnlijk een textvlak moeten zetten waarbij de inhoud uit de database komt... (Zoiets als <textarea>{variabele uit database}</textarea>)
 
Dit werkt ind. beter zo!! Bedankt!!! :thumb: Ik ben geen ster in PHP/Mysql, maar dat blijkt wel... nu zeg als laatste dat er iets in de textarea opgevraagd moet worden. dat klopt... maar hoe doe ik dat precies?? dat hij de titel/headline/text in apparte textarea's opvraagd??
 
Ik neem aan dat je de inhoud ingevoerd hebt via een textarea (waarbij je de editor hebt gebruikt)

Je hebt dit naar een bepaald veld gestuurd in de database. Nu moet je dat bepaalde veld dus uit de database halen en weer in een textarea zetten.

Het is dus eigenlijk hetzelfde formulier als bij het toevoegen alleen nu vul je dus de waardes al in...
 
Jep, tot zo ver snap ik het en heb ik het in de gaten... maar hoe vul ik die velden dan weer op?? met welke code?? want hij moet iets doen met het ID van het nieuws bericht... en hij moet hem weer vullen...

Greetz,..

PS. Super bedankt voor je snelle hulp!!! super forum zo!!!
 
Bij de $GET['page'] == edit zet je dit neer

PHP:
//Controleren of het wel een getal is
if(isset($GET['id']) && is_numeric($_GET['id']))
{
  $nieuwsID = $_GET['id'];
  if(isset($_POST['edit_page']))
  {
    //Update query
  }
  else
  {
    $nieuwsQuery = "SELECT * FROM nieuws WHERE id='$nieuwsID'";
    $nieuwsResult = mysql_query($nieuwsQuery) or die (mysql_error());
  	$nieuwsRow = mysql_fetch_array($nieuwsResult);
	  //Formulier weergeven met waardes
	  echo'<form method="post" action="?page=edit&id='. $nieuwsID .'">
           <p>Titel van het nieuwsbericht:</p>
           <input type="text" name="titel" size="80" value="'. $nieuwsRow['titel'] .'" />
           <p>Headline van het nieuwsbericht:</p>
           <textarea name="headline" id="headline" style="width:95%; height:100px" >
             '. $nieuwsRow['headline'] .'
           </textarea>
           <script type="text/javascript">
             buttonPath = "button/"; //directory holding button images
             makeWhizzyWig("headline", "all");
           </script>
           <p>Het Nieuwsbericht (inclusief headline):</p>
           <textarea name="text" id="text" style="width:95%; height:200px" >
             '. $nieuwsRow['text'] .'
           </textarea>
           <script type="text/javascript">
             makeWhizzyWig("text", "all");
           </script>
           <input type="submit" name="edit_page" value="Wijzig nieuws" />
           <p>Als je plaatjes wil bijvoegen in het nieuwsbericht moet je eerst de plaatjes uploaden via het menuitem: "Plaatje Uploaden". Je krijgt hier dan een link die je kunt gebruiken in de editor.</p>
         </form>';
  }
}
else
{
  $query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 30";
  $result = mysql_query($query) or die('Query failed: ' . mysql_error());
  while ($line = mysql_fetch_array($result))
  {
   echo '<a href="?page=edit&id='. $line['id'] .'">'. $line['titel'] .'</a><br/>';
  }
}
 
Laatst bewerkt:
Krijg het nog niet voor elkaar... dit moet in een nieuwe pagina? genaamd edit? of moet het ergens bij? of moet er nog wat voor?
 
Ik zag dat jij bij de links eerder de $_GET['page'] hebt gebruikt.

PHP:
echo '<a href="?page=edit&id='. $line['id'] .'">'. $line['titel'] .'</a><br/>';

Dus op het gedeelte waar je die $_GET['page'] == "edit" hebt staan zul je dit moeten invullen...

Je zou het ook in een apart bestand kunnen doen (mijn voorkeur, zo houdt je het overzicht namelijk) maar dan moet je wel opletten dat je ingelogt bent voor je toegang krijgt tot die pagina (Ik neem tenminste aan dat je een login hebt gemaakt voor het CMS) anders kan jan-en-alleman naar die pagina surfen en dat lijkt mij niet de bedoeling :rolleyes:

Bij een losse pagina hoef je dus alleen de bovenstaande code maar in te vullen en dan hoort hij het te doen... (Wel even zorgen dat er een verbinding is met de database, anders werken de queries niet en heb je niets aan het script)
 
Ik heb nu dit:

PHP:
<?php

include("../config.php");
require_once("../login.php");


// Connecting, selecting database
$link = mysql_connect('localhost', 'mysql_database', 'wachtwoord')
    or die('Could not connect: ' . mysql_error());
// echo 'Connected successfully';
mysql_select_db('mysql_databasel') or die('Could not select database');

//Controleren of het wel een getal is
if(isset($GET['id']) && is_numeric($_GET['id']))
{
  $nieuwsID = $_GET['id'];
  if(isset($_POST['edit_page']))
  {
    //Update query
  }
  else
  {
    $nieuwsQuery = "SELECT * FROM nieuws WHERE id='$nieuwsID'";
    $nieuwsResult = mysql_query($nieuwsQuery) or die (mysql_error());
      $nieuwsRow = mysql_fetch_array($nieuwsResult);
      //Formulier weergeven met waardes
      echo'<form method="post" action="?page=edit&id='. $nieuwsID .'">
           <p>Titel van het nieuwsbericht:</p>
           <input type="text" name="titel" size="80" value="'. $nieuwsRow['titel'] .'" />
           <p>Headline van het nieuwsbericht:</p>
           <textarea name="headline" id="headline" style="width:95%; height:100px" >
             '. $nieuwsRow['headline'] .'
           </textarea>
           <script type="text/javascript">
             buttonPath = "button/"; //directory holding button images
             makeWhizzyWig("headline", "all");
           </script>
           <p>Het Nieuwsbericht (inclusief headline):</p>
           <textarea name="text" id="text" style="width:95%; height:200px" >
             '. $nieuwsRow['text'] .'
           </textarea>
           <script type="text/javascript">
             makeWhizzyWig("text", "all");
           </script>
           <input type="submit" name="edit_page" value="Wijzig nieuws" />
           <p>Als je plaatjes wil bijvoegen in het nieuwsbericht moet je eerst de plaatjes uploaden via het menuitem: "Plaatje Uploaden". Je krijgt hier dan een link die je kunt gebruiken in de editor.</p>
         </form>';
  }
}
else
{
  $query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 30";
  $result = mysql_query($query) or die('Query failed: ' . mysql_error());
  while ($line = mysql_fetch_array($result))
  {
   echo '<a href="?page=edit&id='. $line['id'] .'">'. $line['titel'] .'</a><br/>';
  }
}  
?>

Dit alles geplaatst in edit.php... is dit zo goed? hij doet het nog niet namelijk... of vergeet ik iets in:

PHP:
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'mysql_database', 'wachtwoord') or die(mysql_error());
mysql_select_db('mysql_database') or die('Could not select database');

// Performing SQL query
$query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 30";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

while ($line = mysql_fetch_array($result))
{
 echo '<a href="?page=edit&id='. $line['id'] .'">'. $line['titel'] .'</a><br/>';
}
?>

Dit zijn mijn beide scripts die het moeten doen... maar het werkt dus nog niet....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan