Avatar billede human Nybegynder
28. januar 2003 - 00:58 Der er 25 kommentarer og
1 løsning

update tabel?

Nogen der kan fortælle mig hvorfor dette ikke virker?
Meningen med det er, at jeg skal kunne redigere i en tekst i en tabel. Men det virker bare nada.

forside.php:
<?
$host = "";
$user = "";
$pass = "";
$db = "";

$conn = mysql_connect("$host","$user","$pass");
if(!$conn) die(mysql_error());
mysql_select_db($db,$conn) || die(mysql_error());

$query = ("SELECT * FROM forside");
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
   
    echo "$row[tekst]";
}
    echo "<br /><br /><a href=http://www.ezillians.dk/admin/forside_reg.php>Rediger!</a>";

mysql_close($conn);
?>

Forside_reg.php:
<?
$host = "";
$user = "";
$pass = "";
$db = "";

$conn = mysql_connect("$host","$user","$pass");
if(!$conn) die(mysql_error());
mysql_select_db($db,$conn) || die(mysql_error());

$result = mysql_query("SELECT * FROM forside WHERE id='1'") || die(mysql_error());
while ($row = mysql_fetch_array($result)) {
?>
<form action="forside.php" method="post">
Forside:<br><br>
<textarea cols="12" rows="12" name="tekst"></textarea>
</form>
<? }
mysql_query("UPDATE forside SET tekst='$tekst' WHERE id='1'") || die(mysql_error());
?>


Sådan ser min tabel ud:
create table forside (
id integer not null primary key auto_increment,
tekst text not null
);
Avatar billede ohmish Nybegynder
28. januar 2003 - 01:26 #1
hvilke fejlmeddelser får du?
Avatar billede jakoba Nybegynder
28. januar 2003 - 01:30 #2
id er et tal, ikke en streng. der skal ikke '-tegn omkring tal

$result = mysql_query("SELECT * FROM forside WHERE id=1") || die(mysql_error());
while ($row = mysql_fetch_array($result)) {
?>
<form action="forside.php" method="post">
Forside:<br><br>
<textarea cols="12" rows="12" name="tekst"></textarea>
</form>
<? }

hvilke fejl får du.
mysql_query("UPDATE forside SET tekst='$tekst' WHERE id=1") || die(mysql_error());
Avatar billede human Nybegynder
28. januar 2003 - 02:02 #3
Fejlen med tallet er rettet.

Får denne fejl:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /hosting/ezillians.dk/admin/forside_reg.php on line 37
Avatar billede ohmish Nybegynder
28. januar 2003 - 02:05 #4
ret til:

$query = "SELECT * FROM forside";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
Avatar billede human Nybegynder
28. januar 2003 - 02:08 #5
Ja ok... Men det ændre jo ikke noget ved forside_reg.php. Hvor jeg får fejlen
Avatar billede ohmish Nybegynder
28. januar 2003 - 02:15 #6
prøv at vise mig et par linier, fra hvor fejlmed. peger på. f.eks. linie 30-40
Avatar billede human Nybegynder
28. januar 2003 - 02:17 #7
$result = mysql_query("SELECT * FROM forside WHERE id=1") || die(mysql_error());
line 37: while ($row = mysql_fetch_array($result)) {
Avatar billede ohmish Nybegynder
28. januar 2003 - 02:30 #8
prøv at rette til:

$result = mysql_query("SELECT * FROM forside WHERE id=1") || die (mysql_error());
    $row = mysql_fetch_array($result);
    while ($row) { 

// hvad der skal ske, her f.eks:
print "$row["tekst"];
// og så igen:
    } $row = mysql_fetch_array($result);
Avatar billede jakoba Nybegynder
28. januar 2003 - 02:34 #9
Hvis det var din SELECT der går galt burde du få en fejlmelding fra mysql, men det gør du ikke.

check (omhyggeligt) hvordan du har stavet variabelnavnet  $result  i de to linier, kan det være du har skrevet et 1 (ettal) istedet for et l (lille L) et af stederne

skriv evt  or  istedetfor  ||  foran die(mysql_error());
det er et vildt skud, men værd at prøve.
Avatar billede ohmish Nybegynder
28. januar 2003 - 02:44 #10
ku det være fordi rækken er tom i databasen?
Avatar billede ohmish Nybegynder
28. januar 2003 - 03:12 #11
hmm.. nej nok ikke
Avatar billede human Nybegynder
28. januar 2003 - 23:40 #12
Ingen af jeres forslag har hjulpet ;(
Avatar billede ztyxx Nybegynder
28. januar 2003 - 23:46 #13
normalt er det databaseconnection´en den er galt med ved den type fejlmeddelelser, prøv at lave din connect sådan

$conn = mysql_connect("$host","$user","$pass")or die(mysql_error());
mysql_select_db($db,$conn) or die(mysql_error());
Avatar billede human Nybegynder
28. januar 2003 - 23:53 #14
Okay.. det var måske interessant, får denne fejl nu:

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /hosting/ezillians.dk/admin/forside_reg.php on line 33
Avatar billede human Nybegynder
28. januar 2003 - 23:57 #15
$conn = mysql_connect("$host","$user","$pass") || die(mysql_error());
line 33: mysql_select_db($db,$conn) || die(mysql_error());
Avatar billede ohmish Nybegynder
29. januar 2003 - 00:23 #16
og $db indeholder et gyldigt tabel navn?
Avatar billede human Nybegynder
29. januar 2003 - 00:24 #17
jepsen :)
Avatar billede human Nybegynder
29. januar 2003 - 00:25 #18
Nej.. Det indeholder jo så et gyldigt db navn :D
Avatar billede ohmish Nybegynder
29. januar 2003 - 00:31 #19
dobbelt-triple check lige om alt er rigtigt: DB-url, navn, kodeord osv. og prøv så at skrive værdierne manuelt ind i $conn linien.
Avatar billede human Nybegynder
29. januar 2003 - 00:35 #20
Okay.. der har været en eller anden fejl i den conn. Ved ikke hvor, men nu connecter den da.

Får denne fejl nu :(:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /hosting/ezillians.dk/admin/forside_reg.php on line 38

$query = "SELECT * FROM forside";
$result = mysql_query($query);
line 38: while($row = mysql_fetch_array($result)) {
Avatar billede ohmish Nybegynder
29. januar 2003 - 00:40 #21
og så prøver du at rette whileløkken til det jeg sagde tidligere:

$query = "SELECT * FROM forside";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
while ($row) {

// hvad der skal ske, her f.eks:
print "$row["tekst"];

// og så igen:
    } $row = mysql_fetch_array($result);
Avatar billede human Nybegynder
29. januar 2003 - 02:52 #22
Øhh.. Prøv lige at forklare hvorfor jeg skal gøre det du skriver der... Er vi enige om at det er forside_reg.php vi snakker om?

Meningen med den side er at der skal komme et textarea med teksten fra tabellen så jeg kan redigere i det. Og teksten så bliver udskrevet på forside.php.

Kan slet ikke forstå det du har gang i der..
Siden ser således ud nu:

$result = mysql_query("SELECT * FROM forside WHERE id=1") || die (mysql_error());
while($row = mysql_fetch_array($result)) {

?>
<form action="forside.php" method="post">
Forside:<br><br>
<textarea cols="12" rows="12" name="tekst"></textarea>
</form>
<?
}
mysql_query("UPDATE forside SET tekst='$tekst' WHERE id=1") || die(mysql_error());
Avatar billede human Nybegynder
29. januar 2003 - 03:07 #23
Nå fuck det.
Jeg finder en anden måde at lave det på. Det her tror jeg ikke kommer til at virke.
Avatar billede sonnyvj Nybegynder
29. januar 2003 - 04:06 #24
Det er sikkert fordi der ikke er oprettet id nr 1.
Avatar billede sonnyvj Nybegynder
29. januar 2003 - 04:06 #25
Jeg har skrevet det lidt om så der oprettes et nyt id hvis det ikke er oprettet

forside.php:

<?
$host = "";
$user = "";
$pass = "";
$db = "forside";

$conn = mysql_connect("$host","$user","$pass");
if(!$conn) die(mysql_error());
mysql_select_db($db,$conn) || die(mysql_error());

$query = ("SELECT * FROM forside");
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
   
    echo "$row[tekst]";
}
    echo "<br /><br /><a href=forside_reg.php?id=1>Rediger!</a>";
mysql_close($conn);
?>



Forside_reg.php:

<?
$host = "";
$user = "";
$pass = "";
$db = "forside";


$conn = mysql_connect("$host","$user","$pass");
if(!$conn) die(mysql_error());
mysql_select_db($db,$conn) || die(mysql_error());

If ($rediger==rediger){
$result2 = mysql_query("select * from forside where id='$id'");
$get_userinfo=@mysql_fetch_array($result2);
$id2=$get_userinfo[id];

If ($id2 == $id){
$opdater-mysql_query("UPDATE forside SET tekst='$tekst' WHERE id='$id'");
echo"<meta http-equiv='refresh' content='2; URL=forside.php'>";
echo"Opdateret";
}
else
{
$rime1 = "INSERT into forside VALUES ('','$tekst')";
$result3 = mysql_query($rime1);
echo"<meta http-equiv='refresh' content='2; URL=forside.php'>";
echo"Opdateret";
}}
else
{

$result = mysql_query("select * from forside where id='$id'");
$get_userinfo=@mysql_fetch_array($result);
$tekst=$get_userinfo[tekst];






?>
<form action="forside_reg.php" method="post">
Forside:<br><br>
<textarea cols="12" rows="12" name="tekst"><? echo"$tekst"; ?></textarea>
<input type="hidden" name="id" value=<? echo"$id"; ?>>
<input type="hidden" name="rediger" value="rediger">
<br>
<input type = "submit" value = "Opdater">
</form>
<?
}
?>

CREATE TABLE forside (
  id int(11) NOT NULL auto_increment,
  tekst text NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede ohmish Nybegynder
29. januar 2003 - 10:13 #26
æv at det ik virker.. nå men vi fandt da et par andre fejl. den sidste der er for sort.
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