Gå til innhold

Utdrag fra database


Anbefalte innlegg

Jeg har funnet et skript for php-adressebok som jeg har endret litt på. Her samler all informasjonen fra databasen seg i en tabell. Jeg ønsker at hvis man klikker på navnet til personen, så skal all informasjonen om denne personen samle seg nedover under hverandre på toppen av siden.

 

F.eks hvis jeg trykker på Arild skal det se slik ut over tabellen på siden:

 

Arild

Kongsgate 1

0000000

[email protected]

www.web.no

 

**tabellen under her**

 

Går det ann å bruke $mode==??

 

Her er koden jeg bruker

Klikk for å se/fjerne innholdet nedenfor

<html>

 

<head>

<title>Adressebok</title>

</head>

<body>

<?php

 

// Connects to your Database

 

mysql_connect("****", "****", "****") or die(mysql_error());

mysql_select_db("****") or die(mysql_error());

 

//edit mode adds a pre-populated form

if ( $mode=="edit")

{

Print '<h2>Edit Contact</h2>

<p>

<form action=';

echo $PHP_SELF;

Print '

method=post>

<table>

<tr><td>Navn:</td><td><input type="text" value="';

Print $navn;

print '" name="navn" /></td></tr>

<tr><td>Adresse:</td><td><input type="text" value="';

Print $adresse;

print '" name="adresse" /></td></tr>

<tr><td>telefon:</td><td><input type="text" value="';

Print $telefon;

print '" name="telefon" /></td></tr>

<tr><td>Mobil:</td><td><input type="text" value="';

Print $mobil;

print '" name="mobil" /></td></tr>

<tr><td>E-post:</td><td><input type="text" value="';

Print $epost;

print '" name="epost" /></td></tr>

<tr><td colspan="2" align="center"><input type="submit" /></td></tr>

<input type=hidden name=mode value=edited>

<input type=hidden name=id value=';

Print $id;

print '>

</table>

</form> <p>';

}

 

//edited mode updates the data for a given ID

if ( $mode=="edited")

{

mysql_query ("UPDATE foreninger SET navn = '$navn', adresse = '$adresse', telefon = '$telefon', mobil = '$mobil', epost = '$epost' WHERE id = $id");

Print "Data Updated!<p>";

}

 

//Remove mode removes data for a given ID

if ( $mode=="remove")

{

mysql_query ("DELETE FROM foreninger where id=$id");

Print "Tipset har blitt slettet <p>";

 

}

 

//This pulls the data and puts it into an array, then prints in alphabetical order based on name

$data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC")

or die(mysql_error());

Print "<table border cellpadding=3>";

Print "<tr><th width=200>Navn</th><th width=200>Adresse</th><th width=100>Telefon</th><th width=100>Mobil</th><th width=200>E-post</th><th width=100>Admin</th></tr>";

while($info = mysql_fetch_array( $data ))

{

Print "<td>".$info['navn'] . "</td> ";

Print "<td>".$info['adresse'] . "</td> ";

Print "<td>".$info['telefon'] . "</td> ";

Print "<td>".$info['mobil'] . "</td> ";

Print "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>";

 

Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&id=" . $info['id'] . "&navn=" . $info['navn'];

Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=remove title=\"Slett\"><img src=\"trash.gif\" border=\"0\"></a> ";

Print "<a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=edit title=\"Rediger\"><img src=\"edit_gif.gif\" border=\"0\"></a></td></tr>";

}

Print "</table>";

Print "<tr>";

Print "<a href=" .$_SERVER[’PHP_SELF’]. "add.htm>Legg til kontakt</a></td></tr>";

 

//Remove mode removes data for a given ID

if ( $mode=="show")

$data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC")

or die(mysql_error());

while($info = mysql_fetch_array( $data ))

{

Print "<td><tr>".$info['navn'] . "</td> ";

Print "<td><tr>".$info['adresse'] . "</td> ";

Print "<td><tr>".$info['telefon'] . "</td> ";

Print "<td><tr>".$info['mobil'] . "</td> ";

Print "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>";

 

}

?>

 

 

</body>

</html>

 

Scriptet ser nok litt rotete ut :whistle:

Endret av mariusmk
Lenke til kommentar
Videoannonse
Annonse

det ser ut som informajonen du mangler er hvordan passere argumenter fra bruker til scriptet. Superglobale variabler.

 

når noe blir skrevet etter ? etter en url i nettleseren vil det som er etter ? havne som GET verdier i headeren.

 

url:

www.noe.no/index.php

 

url med get:

www.noe.no/index.php?noe=noeannet&noe2=noeheltannet

 

disse get verdiene hentes inn i et php script med superglobalen $_GET

urlen tidligere ville gi:

$_GET['noe'] = 'noeannet';

$_GET['noe2'] = 'noeheltannet';

 

alt som blir sendt fra form med method="post" havner på liknende måte i superglobalen $_POST. hvor indekset er navn på input fra form.

 

altså:

 

<form action="" method="post">

<input type="text" name="etnavn" value="enverdi">

<input type="submit" name="submit_eksempel" value="Send">

</form>

 

gir:

$_POST['etnavn'] = 'enverdi';

$_POST['submit_eksempel'] = 'Send';

 

Brukes vanligvis på følgende måte:

 

<?php

 

if(isset($_POST['submit_eksempel']))

{

echo("Knappen $_POST['submit_eksempel'] ble trykket og verdien $_POST['etnavn'] ble sendt.");

} else {

echo "

<form action='' method='post'>

<input type='text' name='etnavn' value='enverdi'>

<input type='submit' name='submit_eksempel' value='Send'>

</form>

";

?>

Lenke til kommentar

Kan være noe jeg har glemt men her er vertfall en start.

Klikk for å se/fjerne innholdet nedenfor
<html>

<head>
<title>Adressebok</title>
</head>
<body>
<?php

if(!$mode = $_POST['mode'])
{
 $mode = 'show';
} else {
 $navn = $_POST['navn'];
 $adresse = $_POST['adresse'];
 $telefon = $_POST['telefon'];
 $mobil = $_POST['mobil'];
 $epost = $_POST['epost'];
 $id = $_POST['id'];
}

// Connects to your Database [br]
if(!$dblink = mysql_connect("****", "****", "****")) die(mysql_error()); 
if(!mysql_select_db("****")) die(mysql_error()); 

//edit mode adds a pre-populated form
if (!strcmp($mode, "edit")) 
// strcmp() returnerer 0 dersom strengene er like. derfor !strcmp()
{

// i strenger kan man legge til variabler med (.): 'streng'.$variabel.'streng'
 echo '
<h2>Edit Contact</h2>
<p> 
<form action='.$PHP_SELF.' method=post> 
<table>
<tr><td>Navn:</td><td><input type="text" value="'.$navn.'" name="navn" /></td></tr> 
<tr><td>Adresse:</td><td><input type="text" value="'.$adresse.'" name="adresse" /></td></tr> 
<tr><td>telefon:</td><td><input type="text" value="'.$telefon.'" name="telefon" /></td></tr>
<tr><td>Mobil:</td><td><input type="text" value="'.$mobil.'" name="mobil" /></td></tr> 
<tr><td>E-post:</td><td><input type="text" value="'.$epost.'" name="epost" /></td></tr> 
<tr><td colspan="2" align="center"><input type="submit" /></td></tr> 
<input type="hidden" name="mode" value="edited">
';

// med dobble qoute trenger man ikke (.) for å inkludere variabel:
echo "
<input type='hidden' name='id' value='$id'>
</table> 
</form> <p>
";
}

//edited mode updates the data for a given ID
if (!strcmp($mode, "edited")) 
{  
 mysql_query ("UPDATE foreninger SET navn = '$navn', adresse = '$adresse', telefon = '$telefon', mobil = '$mobil', epost = '$epost' WHERE id = $id;");
 echo "Data Updated!<p>";
}

//Remove mode removes data for a given ID
if (strcmp($mode, "remove")) 
{
 mysql_query ("DELETE FROM foreninger where id=$id;");
 echo "Tipset har blitt slettet <p>";
}

//This pulls the data and puts it into an array, then prints in alphabetical order based on name
$data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC;") 
or die(mysql_error()); 
echo "<table border cellpadding=3>"; 
echo "<tr><th width=200>Navn</th><th width=200>Adresse</th><th width=100>Telefon</th><th width=100>Mobil</th><th width=200>E-post</th><th width=100>Admin</th></tr>"; 
while($info = mysql_fetch_assoc( $data )) 
{ 
echo "<td>".$info['navn'] . "</td> ";
echo "<td>".$info['adresse'] . "</td> ";
echo "<td>".$info['telefon'] . "</td> ";
echo "<td>".$info['mobil'] . "</td> ";
echo "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>";

echo "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&id=" . $info['id'] . "&navn=" . $info['navn']; 
echo "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=remove title=\"Slett\"><img src=\"trash.gif\" border=\"0\"></a> ";
echo "<a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=edit title=\"Rediger\"><img src=\"edit_gif.gif\" border=\"0\"></a></td></tr>"; 
} 
echo "</table>";
echo "<tr>";
echo "<a href=" .$_SERVER[’PHP_SELF’]. "add.htm>Legg til kontakt</a></td></tr>"; 


if (!strcmp($mode, "show"))
{
 $data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC;")
 or die(mysql_error()); 
 while($info = mysql_fetch_assoc( $data ))
 {
   echo "<td><tr>".$info['navn'] . "</td> ";
   echo "<td><tr>".$info['adresse'] . "</td> ";
   echo "<td><tr>".$info['telefon'] . "</td> ";
   echo "<td><tr>".$info['mobil'] . "</td> ";
   echo "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>";
 }
}

mysql_close($dblink);
?>


</body>
</html>

Endret av grimjoey
Lenke til kommentar
Kan være noe jeg har glemt men her er vertfall en start.

Klikk for å se/fjerne innholdet nedenfor
<html>

<head>
<title>Adressebok</title>
</head>
<body>
<?php

if(!$mode = $_POST['mode'])
{
 $mode = 'show';
} else {
 $navn = $_POST['navn'];
 $adresse = $_POST['adresse'];
 $telefon = $_POST['telefon'];
 $mobil = $_POST['mobil'];
 $epost = $_POST['epost'];
 $id = $_POST['id'];
}

// Connects to your Database [br]
if(!$dblink = mysql_connect("****", "****", "****")) die(mysql_error()); 
if(!mysql_select_db("****")) die(mysql_error()); 

//edit mode adds a pre-populated form
if (!strcmp($mode, "edit")) 
// strcmp() returnerer 0 dersom strengene er like. derfor !strcmp()
{

// i strenger kan man legge til variabler med (.): 'streng'.$variabel.'streng'
 echo '
<h2>Edit Contact</h2>
<p> 
<form action='.$PHP_SELF.' method=post> 
<table>
<tr><td>Navn:</td><td><input type="text" value="'.$navn.'" name="navn" /></td></tr> 
<tr><td>Adresse:</td><td><input type="text" value="'.$adresse.'" name="adresse" /></td></tr> 
<tr><td>telefon:</td><td><input type="text" value="'.$telefon.'" name="telefon" /></td></tr>
<tr><td>Mobil:</td><td><input type="text" value="'.$mobil.'" name="mobil" /></td></tr> 
<tr><td>E-post:</td><td><input type="text" value="'.$epost.'" name="epost" /></td></tr> 
<tr><td colspan="2" align="center"><input type="submit" /></td></tr> 
<input type="hidden" name="mode" value="edited">
';

// med dobble qoute trenger man ikke (.) for å inkludere variabel:
echo "
<input type='hidden' name='id' value='$id'>
</table> 
</form> <p>
";
}

//edited mode updates the data for a given ID
if (!strcmp($mode, "edited")) 
{  
 mysql_query ("UPDATE foreninger SET navn = '$navn', adresse = '$adresse', telefon = '$telefon', mobil = '$mobil', epost = '$epost' WHERE id = $id;");
 echo "Data Updated!<p>";
}

//Remove mode removes data for a given ID
if (strcmp($mode, "remove")) 
{
 mysql_query ("DELETE FROM foreninger where id=$id;");
 echo "Tipset har blitt slettet <p>";
}

//This pulls the data and puts it into an array, then prints in alphabetical order based on name
$data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC;") 
or die(mysql_error()); 
echo "<table border cellpadding=3>"; 
echo "<tr><th width=200>Navn</th><th width=200>Adresse</th><th width=100>Telefon</th><th width=100>Mobil</th><th width=200>E-post</th><th width=100>Admin</th></tr>"; 
while($info = mysql_fetch_assoc( $data )) 
{ 
echo "<td>".$info['navn'] . "</td> ";
echo "<td>".$info['adresse'] . "</td> ";
echo "<td>".$info['telefon'] . "</td> ";
echo "<td>".$info['mobil'] . "</td> ";
echo "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>";

echo "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&id=" . $info['id'] . "&navn=" . $info['navn']; 
echo "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=remove title=\"Slett\"><img src=\"trash.gif\" border=\"0\"></a> ";
echo "<a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=edit title=\"Rediger\"><img src=\"edit_gif.gif\" border=\"0\"></a></td></tr>"; 
} 
echo "</table>";
echo "<tr>";
echo "<a href=" .$_SERVER[’PHP_SELF’]. "add.htm>Legg til kontakt</a></td></tr>"; 


if (!strcmp($mode, "show"))
{
 $data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC;")
 or die(mysql_error()); 
 while($info = mysql_fetch_assoc( $data ))
 {
   echo "<td><tr>".$info['navn'] . "</td> ";
   echo "<td><tr>".$info['adresse'] . "</td> ";
   echo "<td><tr>".$info['telefon'] . "</td> ";
   echo "<td><tr>".$info['mobil'] . "</td> ";
   echo "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>";
 }
}

mysql_close($dblink);
?>


</body>
</html>

8496894[/snapback]

 

Det virket visst ikke :( Det er ikke så farlig at man må trykke på navnet for å få informasjonen. Jeg tenkte først at akuratt som å editere en kontakt vha id, kunne man kanskje vist all informasjonen om kontakten vha av id-en.

 

Eks: kontakt.php?id=48&mode=show. Dermed fikk man opp all informasjonen under hverandre som vist øverst på denne siden. Går det ann?? :hmm:

Endret av mariusmk
Lenke til kommentar

noe slikt (utestet):

 

<html>
 <head>
   <title>Adressebok</title>
 </head>
 <body>
   <?php
   
     $dbhost = ''; // database hostname
     $dbuser = ''; // database brukernavn
     $dbpass = ''; // database passord
     $dbname = ''; // database navn
   
     if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error());
     if(!mysql_select_db($dbname)) die(mysql_error());
   
     /**
     *
     * show er default og viser kun tabell.
     *
     * edit er linket til alle navnene med id slik at klikker man på et 
     * navn får man opp siden på nytt med navnets informasjon øvers i en 
     * editable form.
     *
     **/

     function quote_smart($qry)
     {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
         $qry = stripslashes($qry);
       }
       // Quote if not a number or a numeric string
       if (!is_numeric($qry)) {
         $qry = "'" . mysql_real_escape_string($qry) . "'";
       }
       return $qry;
     }
 
     // Utfør eventuell endring  
     if(isset($_POST['s_endre']))
     {
       foreach($_POST as $k => $v)
       {
         $_POST[$k] = quote_smart($V);
       }
       if(!$id = $_POST['id']) die('Id mangler i POST header.');
       if(!$navn = $_POST['navn']) die('Navn mangler i POST header.');
#        if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.');
#        if(!$telefon = $_POST['telefon']) die('Telefon mangler i POST header.');
#        if(!$mobil = $_POST['mobil']) die('Mobil mangler i POST header.');
#        if(!$epost = $_POST['epost']) die('Epost mangler i POST header.');
       $qry = "UPDATE foreninger SET navn, adresse, telefon, mobil, epost ($navn, $adresse, $telefon, $mobil, $epost) WHERE id=$id;" 
       if(!mysql_query($qry, $dblink)) die(mysql_error());        
     } 
     if(isset($_POST['s_slett']))
     {
       if(!$id = $_POST['id']) die('Id mangler i POST query');
       $id = qoute_smart($id);
       $qry = "DELETE FROM foreninger WHERE id=$id;";
       if(!mysql_query($qry)) die(mysql_error());
     }
     
     // vis data
     if(isset($_GET['mode']))
     {
       $mode = $_GET['mode'];
     } else {
       $mode = 'show';
     }
     
     // kode for edit
     if(!strcmp($mode, 'edit'))
     {
       if(!$id = $_POST['id']) die('Id mangler fra GET header');
       {
       if(!strcmp($id, 'ny'))
       {
         $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 'telefon', 'mobil', 'epost');";
         if(!mysql_query($qry)) die(mysql_error());
         $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';";
         if(!$res = mysql_query($qry)) die(mysql_error());
         if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
         $id = $arr['id'];
       } 
       $id = quote_smart($id);
       $qry = "SELECT * FROM foreninger WHERE id = $id";
       if(!$res = mysql_query($qry, $dblink)) die(mysql_error());
       if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
       echo "<form action='' method='POST'>\n";
       foreach($arr as $k => $v)
       {
         echo "$k: <input type='text' name='$k' value='$v'><br>\n";
       }
       echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Endre'></form>\n"
       }
     }
     
     // kode for edit og show
     if(!strcmp($mode, 'edit') || !strcmp($mode, 'show'))
     {
       echo "<a href='$_SERVER['PHP_SELF']?mode=edit&id=ny'>Nytt innlegg</a>\n";
       echo "<table>\n";
       $qry = 'SELECT * FROM foreninger ORDER BY id;';
       if(!$res = mysql_query($qry)) die(mysql_error());
       while($arr = mysql_fetch_assoc($res))
       {
         
         echo "<tr>";
         foreach($arr as $k => $v)
         {
           if(!strcmp($k, 'id'))
           {
             echo "<a href='$_SERVER['PHP_SELF']?mode=edit&id=$v'>$v</a>";
           } else {
             echo "<td>$v";
           }
         }
         echo "\n";
       }
       echo "</table>\n";
     }
     
     // steng link til database
     mysql_close($dblink);
   ?>
 </body>
</html>

 

edit: var litt rask der. mangler et par ting. men test om det fungerer hittil

edit: oppdatert kode

Endret av grimjoey
Lenke til kommentar
mangler en semicolon på slutten av linje 52

8499591[/snapback]

Takk, da endret jeg det. Så fikk jeg feilmeldingen

Parse error: parse error, unexpected '}', expecting ',' or ';' in E:\webroot\test.php on line 72

Dermed satt jeg på et semikolon til og fikk denne feilmeldingen:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in E:\webroot\test.php on line 78

Lenke til kommentar

fant et par feil til som jeg rettet. har ikke fått testet alt men. har ikke orket å lage db og tabell

Klikk for å se/fjerne innholdet nedenfor
<html>
 <head>
   <title>Adressebok</title>
 </head>
 <body>
   <?php
   
     $dbhost = ''; // database hostname
     $dbuser = ''; // database brukernavn
     $dbpass = ''; // database passord
     $dbname = ''; // database navn
   
     if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error());
     if(!mysql_select_db($dbname)) die(mysql_error());
   
     /**
     *
     * show er default og viser kun tabell.
     *
     * edit er linket til alle navnene med id slik at klikker man på et 
     * navn får man opp siden på nytt med navnets informasjon øvers i en 
     * editable form.
     *
     **/

     function quote_smart($qry)
     {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
         $qry = stripslashes($qry);
       }
       // Quote if not a number or a numeric string
       if (!is_numeric($qry)) {
         $qry = "'" . mysql_real_escape_string($qry) . "'";
       }
       return $qry;
     }
 
     // Utfør eventuell endring  
     if(isset($_POST['s_endre']))
     {
       foreach($_POST as $k => $v)
       {
         $_POST[$k] = quote_smart($V);
       }
       if(!$id = $_POST['id']) die('Id mangler i POST header.');
       if(!$navn = $_POST['navn']) die('Navn mangler i POST header.');
#        if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.');
#        if(!$telefon = $_POST['telefon']) die('Telefon mangler i POST header.');
#        if(!$mobil = $_POST['mobil']) die('Mobil mangler i POST header.');
#        if(!$epost = $_POST['epost']) die('Epost mangler i POST header.');
       $qry = "UPDATE foreninger SET navn, adresse, telefon, mobil, epost ($navn, $adresse, $telefon, $mobil, $epost) WHERE id=$id;";
       if(!mysql_query($qry, $dblink)) die(mysql_error());        
     } 
     if(isset($_POST['s_slett']))
     {
       if(!$id = $_POST['id']) die('Id mangler i POST query');
       $id = qoute_smart($id);
       $qry = "DELETE FROM foreninger WHERE id=$id;";
       if(!mysql_query($qry)) die(mysql_error());
     }
     
     
     //// vis data
     
     // default show
     if(isset($_GET['mode']))
     {
       $mode = $_GET['mode'];
     } else {
       $mode = 'show';
     }
     
     // kode for edit
     if(!strcmp($mode, 'edit'))
     {
       if(!$id = $_POST['id']) die('Id mangler fra GET header');
       {
         if(!strcmp($id, 'ny'))
         {
           $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 'telefon', 'mobil', 'epost');";
           if(!mysql_query($qry)) die(mysql_error());
           $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';";
           if(!$res = mysql_query($qry)) die(mysql_error());
           if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
           $id = $arr['id'];
         } 
         $id = quote_smart($id);
         $qry = "SELECT * FROM foreninger WHERE id = $id";
         if(!$res = mysql_query($qry, $dblink)) die(mysql_error());
         if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
         echo "<form action='' method='POST'>\n";
         foreach($arr as $k => $v)
         {
           echo "$k: <input type='text' name='$k' value='$v'><br>\n";
         }
         echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Endre'></form>\n";
       }
     }
     
     // kode for edit og show
     if(!strcmp($mode, 'edit') || !strcmp($mode, 'show'))
     {
       echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=ny'>Nytt innlegg</a>\n";
       echo "<table>\n";
       $qry = 'SELECT * FROM foreninger ORDER BY id;';
       if(!$res = mysql_query($qry)) die(mysql_error());
       while($arr = mysql_fetch_assoc($res))
       {
         echo "<tr>";
         foreach($arr as $k => $v)
         {
           if(!strcmp($k, 'id'))
           {
             echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=$v'>$v</a>";
           } else {
             echo "<td>$v";
           }
         }
         echo "\n";
       }
       echo "</table>\n";
     }
     
     // steng link til database
     mysql_close($dblink);
   ?>
 </body>
</html>

Endret av grimjoey
Lenke til kommentar
fant et par feil til som jeg rettet. har ikke fått testet alt men. har ikke orket å lage db og tabell

Klikk for å se/fjerne innholdet nedenfor
<html>
 <head>
   <title>Adressebok</title>
 </head>
 <body>
   <?php
   
     $dbhost = ''; // database hostname
     $dbuser = ''; // database brukernavn
     $dbpass = ''; // database passord
     $dbname = ''; // database navn
   
     if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error());
     if(!mysql_select_db($dbname)) die(mysql_error());
   
     /**
     *
     * show er default og viser kun tabell.
     *
     * edit er linket til alle navnene med id slik at klikker man på et 
     * navn får man opp siden på nytt med navnets informasjon øvers i en 
     * editable form.
     *
     **/

     function quote_smart($qry)
     {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
         $qry = stripslashes($qry);
       }
       // Quote if not a number or a numeric string
       if (!is_numeric($qry)) {
         $qry = "'" . mysql_real_escape_string($qry) . "'";
       }
       return $qry;
     }
 
     // Utfør eventuell endring  
     if(isset($_POST['s_endre']))
     {
       foreach($_POST as $k => $v)
       {
         $_POST[$k] = quote_smart($V);
       }
       if(!$id = $_POST['id']) die('Id mangler i POST header.');
       if(!$navn = $_POST['navn']) die('Navn mangler i POST header.');
#        if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.');
#        if(!$telefon = $_POST['telefon']) die('Telefon mangler i POST header.');
#        if(!$mobil = $_POST['mobil']) die('Mobil mangler i POST header.');
#        if(!$epost = $_POST['epost']) die('Epost mangler i POST header.');
       $qry = "UPDATE foreninger SET navn, adresse, telefon, mobil, epost ($navn, $adresse, $telefon, $mobil, $epost) WHERE id=$id;";
       if(!mysql_query($qry, $dblink)) die(mysql_error());        
     } 
     if(isset($_POST['s_slett']))
     {
       if(!$id = $_POST['id']) die('Id mangler i POST query');
       $id = qoute_smart($id);
       $qry = "DELETE FROM foreninger WHERE id=$id;";
       if(!mysql_query($qry)) die(mysql_error());
     }
     
     
     //// vis data
     
     // default show
     if(isset($_GET['mode']))
     {
       $mode = $_GET['mode'];
     } else {
       $mode = 'show';
     }
     
     // kode for edit
     if(!strcmp($mode, 'edit'))
     {
       if(!$id = $_POST['id']) die('Id mangler fra GET header');
       {
         if(!strcmp($id, 'ny'))
         {
           $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 'telefon', 'mobil', 'epost');";
           if(!mysql_query($qry)) die(mysql_error());
           $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';";
           if(!$res = mysql_query($qry)) die(mysql_error());
           if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
           $id = $arr['id'];
         } 
         $id = quote_smart($id);
         $qry = "SELECT * FROM foreninger WHERE id = $id";
         if(!$res = mysql_query($qry, $dblink)) die(mysql_error());
         if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
         echo "<form action='' method='POST'>\n";
         foreach($arr as $k => $v)
         {
           echo "$k: <input type='text' name='$k' value='$v'><br>\n";
         }
         echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Endre'></form>\n";
       }
     }
     
     // kode for edit og show
     if(!strcmp($mode, 'edit') || !strcmp($mode, 'show'))
     {
       echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=ny'>Nytt innlegg</a>\n";
       echo "<table>\n";
       $qry = 'SELECT * FROM foreninger ORDER BY id;';
       if(!$res = mysql_query($qry)) die(mysql_error());
       while($arr = mysql_fetch_assoc($res))
       {
         echo "<tr>";
         foreach($arr as $k => $v)
         {
           if(!strcmp($k, 'id'))
           {
             echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=$v'>$v</a>";
           } else {
             echo "<td>$v";
           }
         }
         echo "\n";
       }
       echo "</table>\n";
     }
     
     // steng link til database
     mysql_close($dblink);
   ?>
 </body>
</html>

8500375[/snapback]

Fant endelig ut hvordan jeg enkelt kunne gjøre det. Jeg brukte mysql_query og hentet ut navn fra en bestemt id

 

Dette bruker jeg nå:

if ( $mode=="show") 
{

$result = mysql_query("SELECT navn, adresse, telefon, mobil, epost FROM foreninger where id=$id");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
   printf("Navn: %s<p>Adresse: %s<p>Telefon: %s<p>Mobil: %s<p>E-post: %s<p>", $row["navn"], $row["adresse"], $row["telefon"], $row["mobil"], $row["epost"]);
}

mysql_free_result($result);

}

Da har jeg ivertfall løst et problem :)

Endret av mariusmk
Lenke til kommentar

bra. men du kunne gjort koden litt mer leselig da:

if ( $mode=="show")
{

$result = mysql_query("SELECT navn, adresse, telefon, mobil, epost FROM foreninger where id=$id");

while ($row = mysql_fetch_assoc($result)) {
 $navn = $_POST['navn'];
 $adresse = $_POST['adresse'];
 $telefon = $_POST['telefon'];
 $mobil = $_POST['mobil'];
 $epost = $_POST['epost'];
  echo("
Navn: $navn<p>
Adresse: $adresse<p>
Telefon: $telefon<p>
Mobil: $mobil<p>
E-post: $epost<p>
");
}

mysql_free_result($result);

}

Testet du scriptet mitt etter at jeg fant en bøtte med feil eller?

Endret av grimjoey
Lenke til kommentar
bra. men du kunne gjort koden litt mer leselig da:

if ( $mode=="show")
{

$result = mysql_query("SELECT navn, adresse, telefon, mobil, epost FROM foreninger where id=$id");

while ($row = mysql_fetch_assoc($result)) {
 $navn = $_POST['navn'];
 $adresse = $_POST['adresse'];
 $telefon = $_POST['telefon'];
 $mobil = $_POST['mobil'];
 $epost = $_POST['epost'];
  echo("
Navn: $navn<p>
Adresse: $adresse<p>
Telefon: $telefon<p>
Mobil: $mobil<p>
E-post: $epost<p>
");
}

mysql_free_result($result);

}

Testet du scriptet mitt etter at jeg fant en bøtte med feil eller?

8501487[/snapback]

 

Ja jeg testet scriptet. Det som kom opp så veldig rart ut. Du burde prøve å lage tabellen i mysql så du får se det selv. Men tviler ikke på at du kan dette! :thumbup:

Lenke til kommentar

sånn. nå funker det til en viss grad. merk deg at når du lager nye innlegg legges det til et nytt automatisk med default verdier. har du flere innlegg med samme adresse og navn endrer du kun det med lavest id når du lager nytt.

 

hvis du skjønner.

 

du kan endre utseendet selv. bare let frem html taggene.

 

Klikk for å se/fjerne innholdet nedenfor
<?php ob_start(); ?>
<html>
 <head>
   <title>Adressebok</title>
 </head>
 <body>
   <?php
   
     $dbhost = 'localhost'; // database hostname
     $dbuser = 'authuser'; // database brukernavn
     $dbpass = 'hemmelig'; // database passord
     $dbname = 'dbauth'; // database navn
   
     if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error());
     if(!mysql_select_db($dbname)) die(mysql_error());
   
     /**
     *
     * show er default og viser kun tabell.
     *
     * edit er linket til alle navnene med id slik at klikker man på et 
     * navn får man opp siden på nytt med navnets informasjon øvers i en 
     * editable form.
     *
     **/

     function quote_smart($qry)
     {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
         $qry = stripslashes($qry);
       }
       // Quote if not a number or a numeric string
       if (!is_numeric($qry)) {
         $qry = "'" . mysql_real_escape_string($qry) . "'";
       }
       return $qry;
     }
 
     // Utfør eventuell endring  
     if(isset($_POST['s_endre']))
     {
       $_POST = array_map('quote_smart',$_POST);
       if(!$id = $_POST['id']) die('Id mangler i POST header.');
       if(!$navn = $_POST['navn']) die('Navn mangler i POST header.');
       if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.');
       if(!$telefon = $_POST['telefon']) $telefon = '0';
       if(!$mobil = $_POST['mobil']) $mobil = '0';
       if(!$epost = $_POST['epost']) die('Epost mangler i POST header.');
       $qry = "UPDATE foreninger SET navn = $navn, adresse = $adresse, telefon = $telefon, mobil = $mobil, epost = $epost WHERE id=$id;";
       if(!$res = mysql_query($qry, $dblink)) die(mysql_error());
       foreach(mysql_fetch_assoc($res) as $r) print_r($r);
       header('Location: '.$_SERVER['PHP_SELF']);
     } 
     if(isset($_POST['s_slett']))
     {
       if(!$id = $_POST['id']) die('Id mangler i POST query');
       $id = quote_smart($id);
       $qry = "DELETE FROM foreninger WHERE id=$id;";
       if(!mysql_query($qry)) die(mysql_error());
       header('Location: '.$_SERVER['PHP_SELF']);
     }
     
     
     //// vis data
     
     // default show
     if(isset($_GET['mode']))
     {
       $mode = $_GET['mode'];
     } else {
       $mode = 'show';
     }
     
     // kode for edit
     if(!strcmp($mode, 'edit'))
     {
       if(!$id = $_GET['id']) die('Id mangler fra GET header');
       {
         if(!strcmp($id, 'ny'))
         {
           $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 0, 0, 'epost');";
           if(!mysql_query($qry)) die(mysql_error());
           $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';";
           if(!$res = mysql_query($qry)) die(mysql_error());
           if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
           $id = $arr['id'];
           header('Location: '.$_SERVER['PHP_SELF'].'?mode=edit&id='.$id);
         } 
         $id = quote_smart($id);
         $qry = "SELECT * FROM foreninger WHERE id = $id";
         if(!$res = mysql_query($qry, $dblink)) die(mysql_error());
         if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
         echo "<form action='' method='POST'>\n";
         foreach($arr as $k => $v)
         {
           echo "$k: <input type='text' name='$k' value='$v'><br>\n";
         }
         echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Lagre'></form>\n";
       }
     }
     
     // kode for edit og show
     if(!strcmp($mode, 'edit') || !strcmp($mode, 'show'))
     {
       echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=ny'>Nytt innlegg</a>\n";
       echo "<table>\n";
       $qry = 'SELECT * FROM foreninger ORDER BY id;';
       if(!$res = mysql_query($qry)) die(mysql_error());
       while($arr = mysql_fetch_assoc($res))
       {
         echo "<tr>";
         foreach($arr as $k => $v)
         {
           if(!strcmp($k, 'id'))
           {
             echo "<td><a href='".$_SERVER['PHP_SELF']."?mode=edit&id=$v'>$v</a>";
           } else {
             echo "<td>$v";
           }
         }
         echo "\n";
       }
       echo "</table>\n";
     }
     
     // steng link til database
     mysql_close($dblink);
   ?>
 </body>
</html>
<?php ob_end_flush(); ?>

Lenke til kommentar
sånn. nå funker det til en viss grad. merk deg at når du lager nye innlegg legges det til et nytt automatisk med default verdier. har du flere innlegg med samme adresse og navn endrer du kun det med lavest id når du lager nytt.

 

hvis du skjønner.

 

du kan endre utseendet selv. bare let frem html taggene.

 

Klikk for å se/fjerne innholdet nedenfor
<?php ob_start(); ?>
<html>
 <head>
   <title>Adressebok</title>
 </head>
 <body>
   <?php
   
     $dbhost = 'localhost'; // database hostname
     $dbuser = 'authuser'; // database brukernavn
     $dbpass = 'hemmelig'; // database passord
     $dbname = 'dbauth'; // database navn
   
     if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error());
     if(!mysql_select_db($dbname)) die(mysql_error());
   
     /**
     *
     * show er default og viser kun tabell.
     *
     * edit er linket til alle navnene med id slik at klikker man på et 
     * navn får man opp siden på nytt med navnets informasjon øvers i en 
     * editable form.
     *
     **/

     function quote_smart($qry)
     {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
         $qry = stripslashes($qry);
       }
       // Quote if not a number or a numeric string
       if (!is_numeric($qry)) {
         $qry = "'" . mysql_real_escape_string($qry) . "'";
       }
       return $qry;
     }
 
     // Utfør eventuell endring  
     if(isset($_POST['s_endre']))
     {
       $_POST = array_map('quote_smart',$_POST);
       if(!$id = $_POST['id']) die('Id mangler i POST header.');
       if(!$navn = $_POST['navn']) die('Navn mangler i POST header.');
       if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.');
       if(!$telefon = $_POST['telefon']) $telefon = '0';
       if(!$mobil = $_POST['mobil']) $mobil = '0';
       if(!$epost = $_POST['epost']) die('Epost mangler i POST header.');
       $qry = "UPDATE foreninger SET navn = $navn, adresse = $adresse, telefon = $telefon, mobil = $mobil, epost = $epost WHERE id=$id;";
       if(!$res = mysql_query($qry, $dblink)) die(mysql_error());
       foreach(mysql_fetch_assoc($res) as $r) print_r($r);
       header('Location: '.$_SERVER['PHP_SELF']);
     } 
     if(isset($_POST['s_slett']))
     {
       if(!$id = $_POST['id']) die('Id mangler i POST query');
       $id = quote_smart($id);
       $qry = "DELETE FROM foreninger WHERE id=$id;";
       if(!mysql_query($qry)) die(mysql_error());
       header('Location: '.$_SERVER['PHP_SELF']);
     }
     
     
     //// vis data
     
     // default show
     if(isset($_GET['mode']))
     {
       $mode = $_GET['mode'];
     } else {
       $mode = 'show';
     }
     
     // kode for edit
     if(!strcmp($mode, 'edit'))
     {
       if(!$id = $_GET['id']) die('Id mangler fra GET header');
       {
         if(!strcmp($id, 'ny'))
         {
           $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 0, 0, 'epost');";
           if(!mysql_query($qry)) die(mysql_error());
           $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';";
           if(!$res = mysql_query($qry)) die(mysql_error());
           if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
           $id = $arr['id'];
           header('Location: '.$_SERVER['PHP_SELF'].'?mode=edit&id='.$id);
         } 
         $id = quote_smart($id);
         $qry = "SELECT * FROM foreninger WHERE id = $id";
         if(!$res = mysql_query($qry, $dblink)) die(mysql_error());
         if(!$arr = mysql_fetch_assoc($res)) die(mysql_error());
         echo "<form action='' method='POST'>\n";
         foreach($arr as $k => $v)
         {
           echo "$k: <input type='text' name='$k' value='$v'><br>\n";
         }
         echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Lagre'></form>\n";
       }
     }
     
     // kode for edit og show
     if(!strcmp($mode, 'edit') || !strcmp($mode, 'show'))
     {
       echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=ny'>Nytt innlegg</a>\n";
       echo "<table>\n";
       $qry = 'SELECT * FROM foreninger ORDER BY id;';
       if(!$res = mysql_query($qry)) die(mysql_error());
       while($arr = mysql_fetch_assoc($res))
       {
         echo "<tr>";
         foreach($arr as $k => $v)
         {
           if(!strcmp($k, 'id'))
           {
             echo "<td><a href='".$_SERVER['PHP_SELF']."?mode=edit&id=$v'>$v</a>";
           } else {
             echo "<td>$v";
           }
         }
         echo "\n";
       }
       echo "</table>\n";
     }
     
     // steng link til database
     mysql_close($dblink);
   ?>
 </body>
</html>
<?php ob_end_flush(); ?>

8506050[/snapback]

 

Nå virket den kjempefint!!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...