Avatar billede zhandia Nybegynder
16. marts 2002 - 20:58 Der er 20 kommentarer og
1 løsning

Start i

Jeg har et for nogle nok ret simpelt spørgsmål. Da jeg lige har læst lidt arkikler om databasebrug og php vil jeg selvfølgelig og gøre brug af det, mit problem er ikke så meget at forstå hvordan php'en Henter fra en db, men mere at forstå hvordan data'en lagres i db, det synes jeg ikke er særlig godt beskrevet!

Det jeg f.eks. gerne ville vide var hvordan dataen en form, input, text gemmes når der trykkes på submitknappen.

Håber der er nogen som har lyst til at prøve at svare på dette...dog husk jeg er rimelig newbie inden for db & php ;)

Mysql er sat op, og jeg bruger phpmyadmin!
Har oprettet de tables der skal bruges der i...
Den ene hedder nyheder_id og den anden bare nyheder hvor teksten fra input'et gerne skulle refere til.

Eksempel på kode må gerne vises hvis nogle skulle have det liggende til både at hente og lagre!!

På forhånd tak!
Avatar billede snigermunken Nybegynder
16. marts 2002 - 21:00 #1
giv mig et dump af dine tabeller i databasen så viser jeg dig et eksembel.
Avatar billede zhandia Nybegynder
16. marts 2002 - 21:12 #2
Der er kun 2 ....

nyheder_id int
nyheder char(120)

er det nok?
Avatar billede snigermunken Nybegynder
16. marts 2002 - 21:25 #3
nå ok jeg troede det var to tabeller :)

<?
if ($skriv){
$db = mysql_connect("mysql sti", "brugernavn", "kodeord");
mysql_select_db("databasesnavn", $db);
mysql_query("INSERT INTO din tabelg (nyheder) VALUES ('$nyhed')");
}
?>
<form action="<? echo $php_self; ?>" method="post">
<input name="skriv" type="hidden" value="1">
<textarea name="nyhed" rows=10 cols=25 ></textarea>
</form>


simpelt nok :)

formen, der en et skjuldt textboks som bruger til at kontrollere om formen er blevet submittet.
Der et tekstfelt som bliver kaldt name="nyhed".

mysql_query("INSERT INTO din tabel (nyheder) VALUES ('$nyhed')");

sættes $nyhed ind i din tabel.
Avatar billede zhandia Nybegynder
16. marts 2002 - 21:59 #4
<form method="post" action="test.php" name="formname">
  <tr>
    <td>
    Sidste <b>Nyheder</b> tilføjes her:
    <input name="nyhed" type="text" size="120" maxlength="120">
      <input type="hidden" name="skriv" value="1">
    <input type="submit" name="nyhed" value="Indsæt sidste nyhed">
    </form></td>
  </tr>
<table>

<?php

if ($skriv){
db = mysql_connect("localhost", "root", "");
mysql_select_db("news",$db);
mysql_query("INSERT INTO nyheder VALUES (null,'$nyhed')");
}
?>


Øhh...jeg er kommet frem til dette her, men umiddelbart kan jeg ikke se i databasen at der er tilføjet noget når jeg prøver at skrive noget ind, kan du se hvor fejlen ligger?
Avatar billede snigermunken Nybegynder
16. marts 2002 - 22:02 #5
Prøv med denne her:

<form method="post" action="test.php" name="formname">
  <tr>
    <td>
    Sidste <b>Nyheder</b> tilføjes her:
    <input name="nyhed" type="text" size="120" maxlength="120">
      <input type="hidden" name="skriv" value="1">
    <input type="submit" name="nyhed" value="Indsæt sidste nyhed">
    </form></td>
  </tr>
<table>

<?php

if ($skriv){
db = mysql_connect("localhost", "root", "");
mysql_select_db("news",$db);
mysql_query("INSERT INTO nyheder (nyheder) VALUES ('$nyhed')");

}
?>
Avatar billede zhandia Nybegynder
16. marts 2002 - 22:22 #6
virker det på din???

Altså man behøver vel ikke at lave den fil som henter det fra db for at det virker, man kan vel nøjes med at lave den som gemmer det der altså denne ik?

Det der i parantes du rettede (nyheder) hvorfor er det lige det skal stå der?

Og hva' med den id jeg har er der ikke noget med at den også skal sættes ind som null eller noget i den stil?

Umiddelbart må jeg sku' sige at jeg ikke kan få det til at virke!!
Avatar billede zhandia Nybegynder
16. marts 2002 - 22:31 #7
får en fejl i denne linje

db = mysql_connect("localhost", "root", "");
Avatar billede snigermunken Nybegynder
16. marts 2002 - 22:32 #8
Den skriver fint til min database.

<form method="post" action="test.php" name="formname">
  <tr>
    <td>
    Sidste <b>Nyheder</b> tilføjes her:
    <input name="nyhed" type="text" size="120" maxlength="120">
      <input type="hidden" name="skriv" value="1">
    <input type="submit" name="nyhed" value="Indsæt sidste nyhed">
    </form></td>
  </tr>
<table>

<?php
if ($skriv){
$db = mysql_connect("localhost", "root");
mysql_select_db("test",$db);
mysql_query("INSERT INTO nyheder (nyheder) VALUES ('$nyhed')");
}
?>
Avatar billede snigermunken Nybegynder
16. marts 2002 - 22:34 #9
du manglede en $:

$db = mysql_connect("localhost", "root");
Avatar billede zhandia Nybegynder
16. marts 2002 - 22:46 #10
Okey nu viser den ingen fejl...hvad så hvis jeg nu flytter min tabel news over under en anden side, så det bliver en undermenu til en anden database der f.eks. hedder avis, hvor skal det så stå...og skriv det lige som et svar så du kan få nogle point :)
Avatar billede snigermunken Nybegynder
16. marts 2002 - 22:49 #11
det må du lige skrive på en anden måde det forstod jeg ikke :)
Avatar billede zhandia Nybegynder
16. marts 2002 - 22:55 #12
:) okey.... øhh

så mysql_select_db bliver ("avis",$db);

Viser det lige som det ville se ud i phpmyadmin

AVIS
  news
  gæstebog (bare eksempel)

så når man trykker på news så kan man se de to tabeller

id
nyheder

Håber det var nogenlunde forklaret ;)
Avatar billede snigermunken Nybegynder
16. marts 2002 - 23:01 #13
jeg forstår stadig ikke helt hvad du mener :)

Hvis du vil flytte nyheder(tabellen) fra nyheder(databasen) over til avis(databasen), så gør du bare det, det eneste du skal ændre er din database når du connecter:

$db = mysql_connect("localhost", "root");
mysql_select_db("nyheder",$db);

ændres til:

$db = mysql_connect("localhost", "root");
mysql_select_db("avis",$db);

men jeg ville godt nok lave din tabel til nyheder på en anden måde, men det er bare mig.
Avatar billede zhandia Nybegynder
16. marts 2002 - 23:11 #14
Okey prøver lige igen.... ;)

Advarede dig jo i starten at det var lidt newbie, så bær lige over med mig :)

<?php
if ($skriv){
$db = mysql_connect("localhost", "root");
mysql_select_db("avis",$db);
mysql_query("INSERT INTO nyheder (nyheder) VALUES ('$nyhed')");
}
?>


Okey den vælger den database som hedder AVIS nu...
Der har jeg nu en table som hedder news

Der har jeg så de 2 felter som hedder ID og Nyheder

altså hele rækken er faktisk blevet rykket en tand ned i hierakiet i databasen....men så mangler jeg jo at definere tablen news
Avatar billede snigermunken Nybegynder
16. marts 2002 - 23:14 #15
Hvis tabellen hedder news og den ligger i avis databasen så er det sådan her:

<?php
if ($skriv){
$db = mysql_connect("localhost", "root");
mysql_select_db("avis",$db);
mysql_query("INSERT INTO news (nyheder) VALUES ('$nyhed')");
}
?>


Men det du vil er at flytte news fra nyheder over i avis?
Avatar billede zhandia Nybegynder
16. marts 2002 - 23:23 #16
ikke mere...har lavet databasen om...så bare glem det jeg sagde med at flytte over, tror det forvirrede lidt ;)

På det eksempel du har lavet kan du da browse i din phpmyadmin under den tabel som hedder news, altså efter man f.eks. har skrevet noget ind i input box'en og submit'et?

Er det ikke meningen man skal kunne det?
Avatar billede snigermunken Nybegynder
16. marts 2002 - 23:26 #17
har du icq? det er nemmere hvis du har så fang mig på 117101330

Men når jeg skriver min nyhed i formularen og trykke submit, så kan jeg se den i phpmyadmin med det samme uden problemer.
Avatar billede bromer Nybegynder
16. marts 2002 - 23:39 #18
snigermunken> Det er bedre, hvis debatten holdes her i fora'et, hvor den er startet. Du skal tænkte på at der muligvis er andre, der har et lignede program der gerne vil høre slutningen. Derudoer er det også en fordel at andre kan bidrage til debatten på et vilkårligt tidspunkt. Det kan man ikke med ICQ.

/Rune
Avatar billede snigermunken Nybegynder
16. marts 2002 - 23:42 #19
det er rigtigt nok men det er lettere på denne måde. Ud over det er jeg den eneste der har deltaget her.

og icq historyen vil blive pastet ind her.
Avatar billede bromer Nybegynder
16. marts 2002 - 23:46 #20
I burde alligevel tage det ekstra slæb det så er... Ud over at det er en princip-sag så er det også fornuftigt hvis / når du går i stå.. Eller skal sove..... så kan andre tage over.. og problemet kan blive løst.

/Rune
Avatar billede zhandia Nybegynder
28. marts 2002 - 14:11 #21
Opgaven blev løst af en som ikke var her på experten...men tak for hjælpen!
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