Smidt Skrevet 9. august 2004 Del Skrevet 9. august 2004 (endret) jeg har 3 ting på hjertet: for tredje spørsmål se nederst første spørsmål jeg putler fortsatt litt på med et cms og jeg har gjort det mulig å legge til /slette kategorier. når du legger til kan du velge om du kategorien skal vises på forsiden eller ikke, men det blir bare lagt til en ny kategori om kategorien vises på forsiden. <form method="post" action="<?php $_SERVER['PHP_SELF'] ?>"> <span class="txtomr">Category name</span> <input type="text" name="dbname"><br> <span class="txtomr">Is it to be displayed on the frontpage?</span> <select name="frontpage"> <option value="1">Yes</option> <option value="0">No</option> </select> <br><br> <input name="" type="submit" value="Lag kategori"> </form> <?php $dbname=$_POST['dbname']; $frontpage=$_POST['frontpage']; include "dbconnect.php"; if(!empty($dbname) && !empty($frontpage)){ $q="INSERT into category (`dbname`,`frontpage`) VALUES ('$dbname','$frontpage')"; $result= mysql_query($q, $connection) or die ("Could not execute INSERT query : $q." . mysql_error());; } ?> databasen ser sånn ut: bdname varchar(30) dbid int(10) frontpage enum ('1','0') om frontpage er 0 vises den ikke på forsiden. andre spørsmål Jeg er på jakt etter et script som tar tiden på hvor lang tid det tar å lage en php side. altså et script som starter i begynnelsen av php koden og slutter når alle dataene er hentet fra f.eks. databaser. trenger ikke noe veldig avansert. Endret 10. august 2004 av Smidt Lenke til kommentar
Lemkin Skrevet 9. august 2004 Del Skrevet 9. august 2004 (endret) Første spørsmål: *lære seg å lese* Andre: PEAR har slike benchmarks, tidtaking osv. http://pear.php.net Endret 9. august 2004 av smoothie Lenke til kommentar
The Red Devil Skrevet 9. august 2004 Del Skrevet 9. august 2004 Angående spørsmål nr ein, sett default til 0 på "frontpage". Deretter vist kategorien ikkje skal vises på framsiden så setter du bare inn "dbname". Hmm... skulle til å skrive eit døme når eg la merke til dette: if(!empty($dbname) && !empty($frontpage)){ Prøv og forandre den til if(!empty($dbname) && isset($frontpage)){ Siden 0 kan bli sett på som tom/false. Angående spørsmål to, bare sett opp ein function som du starter på toppen av scriptet og deretter på slutten av scriptet. Når du først starter funksjonen så kaller du opp microtime() (bruk explode deretter sett dei sammen igjen). Når du kaller den opp på slutten igjen så henter du den samme dataen deretter "timestamp2 - timestamp1 = kor lenge skriptet brukte" Lenke til kommentar
Smidt Skrevet 9. august 2004 Forfatter Del Skrevet 9. august 2004 Angående spørsmål nr ein, sett default til 0 på "frontpage". Deretter vist kategorien ikkje skal vises på framsiden så setter du bare inn "dbname". Hmm... skulle til å skrive eit døme når eg la merke til dette: if(!empty($dbname) && !empty($frontpage)){ Prøv og forandre den til if(!empty($dbname) && isset($frontpage)){ Siden 0 kan bli sett på som tom/false. Angående spørsmål to, bare sett opp ein function som du starter på toppen av scriptet og deretter på slutten av scriptet. Når du først starter funksjonen så kaller du opp microtime() (bruk explode deretter sett dei sammen igjen). Når du kaller den opp på slutten igjen så henter du den samme dataen deretter "timestamp2 - timestamp1 = kor lenge skriptet brukte" herlig , var det som skulle til, tenkte ikke på at siden den er 0 kan det også tolkes som flase. ellers var linken til smoothie nyttig, fant et script som ser ut til å virke bra Lenke til kommentar
Lokaltog Skrevet 9. august 2004 Del Skrevet 9. august 2004 Spørsmål 2: Her er et fint eksempel! Lenke til kommentar
Smidt Skrevet 10. august 2004 Forfatter Del Skrevet 10. august 2004 (endret) tredje spørsmål: <?php require"dbconnect.php"; $q="SELECT * from article order by title asc"; $result= mysql_query($q, $connection) or die ; while ($row=mysql_fetch_array($result)) { //Annenhver listing skal ha grå bakgrunn i tabell $count++; if ($count & 1) { $tbl_class = 'tavle_tabell-sub'; }else { $tbl_class = 'tavle_tabell-sub-grey'; } $title=$row["title"]; $teaser=$row["teaser"]; $fulltext=$row["tulltext"]; $date=$row["date"]; $author=$row["author"]; $id=$row["id"]; $dbid=$row["dbid"]; /*require"dbconnect.php"; $q="SELECT * FROM category WHERE dbid='$dbid'"; $result= mysql_query($q, $connection) or die ; $row=mysql_fetch_array($result); $dbname=$row["dbname"];*/ echo "$id $titleposted $date by $author Kategori:$dbname "; } ?> det som er problemet er at jeg vil hente ut kategorinavnet som ligger i en annen tabell enn artiklene. men artikkelen forbindes med kategorien hvja. en kategori id (dbid) for å få listet alle artiklene og ikke bare den første må jeg inkludere queryen som henter kategorinavn (dbname) i whilen. det som er mellom /* og */ er der hvor kategorinavnet hentes, men det virker selvfølgelig ikke sånn jeg har satt det opp, men var bare for å få det med. håper noen forstod problemet og kan ta en titt Endret 10. august 2004 av Smidt Lenke til kommentar
kakkle Skrevet 10. august 2004 Del Skrevet 10. august 2004 (endret) Det står at $dbid er int. Fjern ' rundt $dbid i sql-strengen, og se hva som skjer... Hvis ikke dette hjelper, så beskriv litt bedre hva som sjker og hva som ikke skjer... EDIT: TRØKKLEIF. Jeg mener at du ikke trenger "require("dbconnect.php")" andre gangen, siden forbindlesen ikke er lukket er der allerede. Dersom du lukker forbindlesen, må du koble til igjen. / kakkle Endret 10. august 2004 av kakkle Lenke til kommentar
Smidt Skrevet 10. august 2004 Forfatter Del Skrevet 10. august 2004 (endret) tenkte ikke på at jeg ikke trengte å koble til en gang til, men koden ser nå sånn ut: <?php require"dbconnect.php"; $q="SELECT * from article order by title asc"; $result= mysql_query($q, $connection) or die ; while ($row=mysql_fetch_array($result)) { //Annenhver listing skal ha grå bakgrunn i tabell $count++; if ($count & 1) { $tbl_class = 'tavle_tabell-sub'; }else { $tbl_class = 'tavle_tabell-sub-grey'; } $title=$row["title"]; $teaser=$row["teaser"]; $fulltext=$row["tulltext"]; $date=$row["date"]; $author=$row["author"]; $id=$row["id"]; $dbid=$row["dbid"]; $q="SELECT * FROM category WHERE dbid=$dbid"; $result= mysql_query($q, $connection) or die ; $row=mysql_fetch_array($result); $dbname=$row["dbname"]; echo "$id $titleposted $date by $author Kategori:$dbname "; } ?> men det er nå bare den første artikkelen som vises, altså virker ikke whilen. Endret 10. august 2004 av Smidt Lenke til kommentar
diskvask Skrevet 10. august 2004 Del Skrevet 10. august 2004 $q="SELECT * FROM category WHERE dbid=$dbid"; $cat_result= mysql_query($q, $connection) or die; $cat_row=mysql_fetch_array($cat_result); $dbname=$cat_row["dbname"]; Du har overskrevet variablene $result og $row. Lenke til kommentar
kakkle Skrevet 10. august 2004 Del Skrevet 10. august 2004 (endret) TRIPPEL POST. Skal det være mulig Endret 10. august 2004 av kakkle Lenke til kommentar
kakkle Skrevet 10. august 2004 Del Skrevet 10. august 2004 (endret) AARGGHHH !!! Endret 10. august 2004 av kakkle Lenke til kommentar
kakkle Skrevet 10. august 2004 Del Skrevet 10. august 2004 (endret) Bytt $result= mysql_query($q, $connection) or die ; til $result= mysql_query($q, $connection) or die("ERROR: $q<br>".mysql_error()) ; så ser du om du får noen feilmelding. Kan være deet skjer noe feil etter den første artikkelen er feil. I spørringen som henter ut kategorinavn. SER feilen: bytt navn på $result og $row inni while-løkken. så ordner det seg vel nok, kanskje Endret 10. august 2004 av kakkle Lenke til kommentar
Smidt Skrevet 10. august 2004 Forfatter Del Skrevet 10. august 2004 argh, selvfølgelig kan jeg ikke ha samme $result og $row som på den forrige spørringen. takk for hjelpen Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå