Avatar billede feriboy Nybegynder
21. februar 2008 - 15:44 Der er 7 kommentarer

Hent fra mysql og rediger direkte fra hjemmeside!

Hejsa alle..
jeg ønsker et script hvor jeg kan hente en tabel/data fra mysql og så rediger eller slet indlæg der er skrevet i fx min gæstebog eller hvor jeg kan gå ind og redigere i en nyhed jeg har skrevet..

hvordan henter jeg fra mysql og redigere i det ?


Den hedder guestbog inde i mysql og her er opstillingen af indlægene hvori "navnene" på de observationer også står i:

<div align="center">
<center>
<table border=1 cellspacing=0 cellpadding=3 width="408" bgcolor="#FFFFFF" id="table1">
<tr bgcolor=#c0c0c0 class=n1 onmouseover="if (typeof(this.style) != 'undefined') this.style.backgroundColor = '#c8c8c8'" onmouseout="if (typeof(this.style) != 'undefined') this.style.backgroundColor = ''">
<td width="408" bordercolor="#808080">
<b><font size="2" face="Arial"><? echo $vis[navn]; ?></font></b><font face="Arial"><font size="2"> -
</font> <a href="mailto:<? echo $vis[email]; ?>">
<img border="0" src="mail_ikon.gif" width="16" height="16"></a><font size="2">  skrevet den: <? echo $vis[dato]; ?>
<br>
<? echo nl2br($vis[besked]); ?></font></font></td>
</tr>
</table>
</center>
</div>


Her et sted skal være et link hvor man kan gå ind og redigere i et indlæg og et link hvor der står slet som selvfølgelig sletter det pågældene indlæg. altså 2 link tak ;-)

og for at connecte til mysql er det via:

include("db_connection.php");


- håber jeg kan få et godt svar herinde.. har prøvet få hjælp så mange steder uden resultat :(
Avatar billede kjeldsted Novice
21. februar 2008 - 22:48 #1
Ligesom når du indsætter værdier i din tabel laver du en form med nogle inputs til dette. Dette inputs value sættes på til den eksisterende værdi hvor man så kan rette og gemme:
Hvis du fx vil kunne rette i teksten til en gæstebogsbesked laver du en form, fx sådan hér:
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<input type="textarea" name="besked" value="<?=$vis['besked']?>">
</form>

Du skal selvfølge nok lave lidt ændringer og måske også indsætte flere inputs. Men håber du forstod princippet. Ellers skriver du bare :-)
Avatar billede feriboy Nybegynder
21. februar 2008 - 22:50 #2
hejsa.. tak men ærlig talt forstår jeg ik så meget med kodning.. tror du du kan hjælpe mig med det? please..? :) har du msn ?
Avatar billede kjeldsted Novice
22. februar 2008 - 11:05 #3
Hm... Har du en side hvor man kan indsætte data i tabellen. Så skriv den, så kan jeg lave koden.
Avatar billede feriboy Nybegynder
22. februar 2008 - 11:59 #4
Dette er den kode du vil have formoder jeg:

<?php // PHP starter.
if($_GET[valg] == "skriv") {
?>
<form action="gaestbog.php?valg=skrivok" method="POST">
<blockquote>
    <blockquote>
        <p align="left"><font face="Arial"><font color="#FFFFFF"><b><font style="font-size: 9pt">Navn:</font></b><font style="font-size: 9pt">
        <br></font></font><span style="font-size: 9pt">
        <input name="navn" size="20" style="color: #FFFFFF; font-family: Arial; font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #000000"></span></font><font face="Arial" style="font-size: 9pt" color="#FFFFFF"><br>
        <b>E-mail:</b> <br></font><font face="Arial">
        <span style="font-size: 9pt">
        <input name="email" size="20" style="font-family: Arial; color: #FFFFFF; font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #000000"></span></font><font face="Arial" style="font-size: 9pt"><font color="#FFFFFF"><br>
        <b>Besked:</b></font><br></font><font face="Arial">
        <span style="font-size: 9pt">
        <textarea name="besked" rows="5" cols="33" style="font-family: Arial; color: #FFFFFF; font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #000000"></textarea></span></font><font face="Arial" style="font-size: 9pt"><br>
        </font><font face="Arial"><span style="font-size: 9pt">
        <input type="submit" value="Skriv i gæstebog" style="font-family: Arial; color: #000000; font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"></span></font><font face="Arial" style="font-size: 9pt">
        </font></p>
    </blockquote>
</blockquote>
</form>
Avatar billede kjeldsted Novice
23. februar 2008 - 12:09 #5
<?php // PHP starter.
$id = XXX; //Angiver id'en på den besked der skal rettes. Du kan fx skrive $_GET['id'] hvis id'en gemmes i URL'en!
$con = mysql_connect("localhost","username","password");
if (!$con)
  {
  die('Ingen forbindelse til Database server: ' . mysql_error());
  }
  mysql_select_db("database_navn", $con);
  $result = mysql_query("SELECT * FROM tabel WHERE id=$id");
  while($row = mysql_fetch_array($result))
  {
  $edit_navn = $row['navn'];
  $edit_mail = $row['mail'];
  $edit_besked =  $row['besked'];
  }
if($_GET[valg] == "skriv") {
?>
<form action="gaestbog.php?valg=retok&id=<?=$id?>" method="POST">
<blockquote>
    <blockquote>
        <p align="left"><font face="Arial"><font color="#FFFFFF"><b><font style="font-size: 9pt">Navn:</font></b><font style="font-size: 9pt">
        <br></font></font><span style="font-size: 9pt">
        <input name="navn" value="<?=$edit_navn?>" style="color: #FFFFFF; font-family: Arial; font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #000000" size="20">
        </span></font><font face="Arial" style="font-size: 9pt" color="#FFFFFF"><br>
        <b>E-mail:</b> <br></font><font face="Arial">
        <span style="font-size: 9pt">
        <input name="email" value="<?=$edit_mail?>" size="20" style="font-family: Arial; color: #FFFFFF; font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #000000"></span></font><font face="Arial" style="font-size: 9pt"><font color="#FFFFFF"><br>
        <b>Besked:</b></font><br></font><font face="Arial">
        <span style="font-size: 9pt">
        <textarea name="besked" rows="5" cols="33" style="font-family: Arial; color: #FFFFFF; font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #000000"><?=$edit_besked?></textarea>
        </span></font><font face="Arial" style="font-size: 9pt"><br>
        </font><font face="Arial"><span style="font-size: 9pt">
        <input type="submit" value="Skriv i gæstebog" style="font-family: Arial; color: #000000; font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"></span></font><font face="Arial" style="font-size: 9pt">
        </font></p>
    </blockquote>
</blockquote>
</form>

Hvis du så ændre MySQL oplysninger (incl. database connect m.v., tabel) Burde ovenstående fungere. Men husk at den ikke virker før du har rettet alt. Du skal også huske af sætte variablen $id til den id der skal rettes. Håber det er en smule forståligt.

En anden ting er at jeg ændrede i actionen på formen. Før hed den 'skrivok' hvor den nu hedder 'retok'. Når så man kommer ind på gaestbog.php?retok skal den jo ikke indsætte i tabellen, men rette der hvor id=$id. Til dette bruger du jo selvfølgelig SQL'en "UPDATE tabel SET besked='$_POST['besked']' WHERE id=$id"...

Håber det er bare lidt forståligt. Ellers skriver du bare igen, så kigger jeg på det :)
Avatar billede kjeldsted Novice
23. februar 2008 - 12:11 #6
En anden lille ting jeg nok ville ændre var at angive 'style' tags'ne i CSS filer, så ikke man har denne lange style kode på sin .php side men på .css siden.
Avatar billede kjeldsted Novice
11. maj 2011 - 11:20 #7
Bare lige for at samle op.
Er problemet løst? Og i så fald bør tråden lukkes.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester