Avatar billede dudez Nybegynder
22. juni 2003 - 02:00 Der er 3 kommentarer og
1 løsning

Gæstebog delt i to

Jeg er ved at lave en lille test side for at lærer PHP, men nu er jeg igen løbet ind i et problem. Siden ligger her http://beta.dudez.dk  "Gæstebog" 

1.Hvis jeg vil dele gæstebogen op så jeg bare laver et "LINK" som hedder "add tag" for at skrive en ny besked.

2. Dele siden op så man kan se 10 tags af gangen.

Kilde koden:

<?
$dbHost = "localhost";
$dbUser = "xxxxxxx";
$dbPass = "xxxxxxxx";
$dbDatabase = "xxxxxxxx";

// Connect to DB

$li = mysql_connect($dbHost, $dbUser, $dbPass) or die("Could not connect");
mysql_select_db($dbDatabase, $li) or die ("could not select DB");

?>

<?
// initiate some vars

$gb_str = "";     // $gb_str is the string we'll append entries to
$pgeTitle = "View and Sign Guestbook";

// If form is submitted, then insert into DB
if (!empty($HTTP_POST_VARS["submit"])) {
    $name = $HTTP_POST_VARS["frmName"];
    $email = $HTTP_POST_VARS["frmEmail"];
    $comment = $HTTP_POST_VARS["frmComment"];
    $date = Date("Y-m-d h:i:s");
   
    $gb_query =     "insert into guestbook
            values(0, '$name', '$email', '$comment', '$date')";
   
    mysql_query($gb_query);
    $res = mysql_affected_rows();
   
    // See if insert was successful or not
    if($res > 0) {
        $ret_str="Your guestbook entry was successfully added.";
    } else {
        $ret_str = "Your guestbook entry was NOT successfully added.";
    }
   
    // Append success/failure message
    $gb_str .= "<span class=\"ret\">$ret_str</span><BR>";
}
?>

<?
// The querystring
$get_query = "select gbName, gbEmail, gbComment, DATE_FORMAT(gbDateAdded, '%m-%d-%y %H:%i') gbDateAdded
        from guestbook";

$get_rs = mysql_query($get_query);
$gb_str .= "<hr size=\"1\">";

// While there are still results
while($get_row = mysql_fetch_array($get_rs)) {
    $name = $get_row["gbName"];
    $email = $get_row["gbEmail"];
    $comment = $get_row["gbComment"];
    $date = $get_row["gbDateAdded"];
   
    if(!empty($name)) {
        // If name exists and email exists, link name to email
        if(!empty($email)) {
            $name="by <a href=\"mailto:$email\">$name</a>";
        }
    // If name does exist and email exists, link email to email       
    } elseif (!empty($email)) {
        $name = "by <a href=\"mailto:$email\">$email</a>";
    // Else make name blank
    } else {
        $name = "";
    }
   
    // Append to string we'll print later on
    $gb_str .= "<br>$comment<p class=\"small\">< posted on $date $name><hr size=\"1\">";
}

// Free Result Memory
mysql_free_result($get_rs);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Guestbook</TITLE>
<SCRIPT language="javascript">
<!--

/* This function is pulled from a generic validation file from
some other site (probably developer.netscape.com) and strips out
characters you don't want */

function stripCharsInBag (s, bag) {
    var i;
    var returnString = "";

    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.

    for (i = 0; i < s.length; i++)
    { 
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

// This function just makes sure the comment field is not empty

function valForm(frm) {
    badChars = "<[]>{}";
    if(frm.frmComment.value == "") {
        alert("Please fill in your comments for the guestbook.");
        return false;
    } else {
        frm.frmComment.value = stripCharsInBag(frm.frmComment.value, badChars);
        // These values may be empty, but strip chars in case they're not
        frm.frmName.value = stripCharsInBag(frm.frmName.value, badChars);
        frm.frmEmail.value = stripCharsInBag(frm.frmEmail.value, badChars);
        return true;
    }
}

-->
</SCRIPT>
</HEAD>

<BODY bgcolor="#FFFFFF">
<? echo $gb_str; ?>

<form name="gb" action="<? echo $PHP_SELF;?>" method="post">
<table cellpadding="3" cellspacing="0" border="0">
  <tr>
    <td class="tdhead" valign="top" align="right">Name</td>
    <td valign="top"><input type="text" name="frmName" value="" size="30" maxlength="50"></td>
  </tr>
  <tr>
    <td class="tdhead" valign="top" align="right">Email</td>
    <td valign="top"><input type="text" name="frmEmail" value="" size="30" maxlength="100"></td>
  </tr>
  <tr>
    <td class="tdhead" valign="top" align="right">Comment</td>
    <td valign="top"><textarea name="frmComment" rows="5" cols="30"></textarea></td>
  </tr>
  <tr>
    <td> </td>
    <td><input type="submit" name="submit" value="submit" onClick="return valForm(document.gb)">
        <input type="reset" name="reset" value="reset"></td>
  </tr>
</table>
</form>

</BODY>
</HTML>

<?
// Close MySQL Connection
mysql_close($li);
?>


Håber en eller anden har en ide'

(MSN: jbf@indu.adsl.dk)
Avatar billede dudez Nybegynder
22. juni 2003 - 22:11 #1
Her fundet ud af det... Hvis man kigger i denne linje

$get_query = "select gbName, gbEmail, gbComment, DATE_FORMAT(gbDateAdded, '%m-%d-%y %H:%i') gbDateAdded from guestbook";

Så skal jeg have den til at sorter efter ID.. nu viser den ID 1,2,3,4....5 osv. men jeg vil have den til at vise 5,4,3,2.....1 osv.
Avatar billede avminarm Juniormester
23. juni 2003 - 10:23 #2
$get_query = "select gbName, gbEmail, gbComment, DATE_FORMAT(gbDateAdded, '%m-%d-%y %H:%i') gbDateAdded from guestbook ORDER BY ID ASC";

er det det du er ude efter?
Avatar billede dudez Nybegynder
23. juni 2003 - 10:34 #3
Jep. det er den string jeg leder efter :-) 1000 tak for hjælpen.
Avatar billede avminarm Juniormester
23. juni 2003 - 10:52 #4
var så lidt ;o)
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