jOOONAS Skrevet 24. november 2006 Del Skrevet 24. november 2006 (endret) Hei igjen, jeg har laget en liten mysql kode til et nyhet-script som jeg skal ha på hjemmesiden min. Men problemet er da at på dette scriptet kommer de gamleste postene opp først. Noen idèer på hvordan jeg kan få fikset dette problemet? (Jeg brukte dette scriptet før i en event sak. Der jeg ikke trengte å få de nyeste opp først. Men viss jeg skal bruke dette i et nyhets-script blir det litt feil.) <?php $link = mysql_connect("localhost","********","********"); @mysql_select_db("morality", $link); $result = mysql_query("SELECT * FROM nyhende", $link); $number = mysql_num_rows($result); $i = 0; while ($i < $number) { $navn = mysql_result($result,$i,"navn"); $overskrift = mysql_result($result,$i,"overskrift"); $innlegg = mysql_result($result,$i,"innlegg"); print "<b>$overskrift</b> <br> <br>"; print "$innlegg<br>"; print "<img src='images/asdasdasd_11.png'/><br>"; print "<span class='writer'>$navn</span><br><br><br>"; $i++; } mysql_free_result($result); mysql_close(); ?> OG btw, noen som kan si meg hvordan jeg får vist, bare de 5 nyeste postene? Endret 24. november 2006 av jOOONAS Lenke til kommentar
PHPdude Skrevet 24. november 2006 Del Skrevet 24. november 2006 (endret) Mysql kan sortere det for deg, bare legg til "ORDER BY `kolonne` DESC" http://dev.mysql.com/doc/refman/4.1/en/select.html PS: I HTML koden du skriver ut bør du bruke <h2> etc for overskriften på nyheten, og hvertfall ikke <b> som ikke finnes i de nye HTML-versjonene Endret 24. november 2006 av PHPdude Lenke til kommentar
jOOONAS Skrevet 24. november 2006 Forfatter Del Skrevet 24. november 2006 Mysql kan sortere det for deg, bare legg til "ORDER BY `kolonne` DESC" 7349430[/snapback] skjønte ikke helt, fsk ORDER BY 'ID' men hvordan får jeg de gamleste id'ene da ? Lenke til kommentar
Gjest Slettet+142 Skrevet 24. november 2006 Del Skrevet 24. november 2006 (endret) SELECT * FROM nyhende ORDER BY id DESC SELECT * FROM nyhende ORDER BY id ASC den øverste kommer den høyeste id'en først.. den nederste kommer den laveste id'en først Endret 24. november 2006 av Slettet+142 Lenke til kommentar
jOOONAS Skrevet 24. november 2006 Forfatter Del Skrevet 24. november 2006 (endret) OK, tror jeg tenkte litt feil her, nå vises de ikke i det hele tatt.. Endret 24. november 2006 av jOOONAS Lenke til kommentar
Martin A. Skrevet 24. november 2006 Del Skrevet 24. november 2006 Og skal du da kun vise de 5 nyeste, skriver du SELECT * FROM nyhende ORDER BY id DESC LIMIT 1, 5 Lenke til kommentar
jOOONAS Skrevet 24. november 2006 Forfatter Del Skrevet 24. november 2006 Og skal du da kun vise de 5 nyeste, skriver du SELECT * FROM nyhende ORDER BY id DESC LIMIT 1, 5 7349592[/snapback] OK, tror jeg tenkte litt feil her, nå vises de ikke i det hele tatt.. er ganske sikker problemet ligger rundt $i = 0; while ($i > $number) { elns. <?php $link = mysql_connect("localhost","******","******"); @mysql_select_db("morality", $link); $result = mysql_query("SELECT * FROM nyhende ORDER BY id DESC LIMIT 1, 5", $link); $number = mysql_num_rows($result); $i = 0; while ($i > $number) { $navn = mysql_result($result,$i,"navn"); $overskrift = mysql_result($result,$i,"overskrift"); $innlegg = mysql_result($result,$i,"innlegg"); print "<b>$overskrift</b> <br> <br>"; print "$innlegg<br>"; print "<img src='images/asdasdasd_11.png'/><br>"; print "<span class='writer'>$navn</span><br><br><br>"; $i++; } mysql_free_result($result); mysql_close(); ?> Lenke til kommentar
PHPdude Skrevet 24. november 2006 Del Skrevet 24. november 2006 Du bruker en helt feil måte å loope over resultat på. Les manualen litt bedre neste gang Er mange eksempler der. while($row = mysql_fetch_assoc($result)) { $row['id']; $row['innlegg']; } Lenke til kommentar
jOOONAS Skrevet 24. november 2006 Forfatter Del Skrevet 24. november 2006 Du bruker en helt feil måte å loope over resultat på. Les manualen litt bedre neste gang Er mange eksempler der. while($row = mysql_fetch_assoc($result)) { $row['id']; $row['innlegg']; } 7349926[/snapback] Altså er litt treig når det gjelder php/mysql siden jeg akkurat har begynt med det. du mener jeg skal plassere det hvor ? Lenke til kommentar
PHPdude Skrevet 24. november 2006 Del Skrevet 24. november 2006 Du må bytte ut loopen, altså while {}. Bare bytt ut den ene linja også endrer du koden din fra "$navn" til $row['navn'] osv osv. Lenke til kommentar
Gjest Slettet+142 Skrevet 24. november 2006 Del Skrevet 24. november 2006 altså, slik som dette <?php $link = mysql_connect("localhost","******","******"); @mysql_select_db("morality", $link); $result = mysql_query("SELECT * FROM nyhende ORDER BY id DESC LIMIT 1, 5", $link); $number = mysql_num_rows($result); $i = 0; while($row = mysql_fetch_assoc($result)) { $navn = $row["navn"]; $overskrift = $row["overskrift"]; $innlegg = $row["innlegg"]; print "<b>$overskrift</b> <br> <br>"; print "$innlegg<br>"; print "<img src='images/asdasdasd_11.png'/><br>"; print "<span class='writer'>$navn</span><br><br><br>"; $i++; } mysql_free_result($result); mysql_close(); ?> Lenke til kommentar
jOOONAS Skrevet 24. november 2006 Forfatter Del Skrevet 24. november 2006 (endret) Men nå må jeg poste to ganger for å få frem en post, eller jeg kan poste den men den vises ikke. Så viss jeg poster en etter det igjen vises den jeg postet sist gang men ikke den jeg postet der igjen. Endret 24. november 2006 av jOOONAS Lenke til kommentar
Gjest Slettet+142 Skrevet 24. november 2006 Del Skrevet 24. november 2006 ehm.. utfører du insert-spørringen før eller etter select-spørringen? hvis etter, bør du enten vurdere å flytte insert-spørring over select, eller å ha refresh etter insert hvis ikke jeg tenkte feil nå da.. Lenke til kommentar
jOOONAS Skrevet 24. november 2006 Forfatter Del Skrevet 24. november 2006 (endret) ehm.. utfører du insert-spørringen før eller etter select-spørringen?hvis etter, bør du enten vurdere å flytte insert-spørring over select, eller å ha refresh etter insert hvis ikke jeg tenkte feil nå da.. 7350400[/snapback] slik ser leggtil.php ut : if ($passord == '***') { <?php $overskift = $_GET['overskrift']; $navn = $_GET['navn']; $innlegg = $_GET['innlegg']; $passord = $_GET['passord']; $innleggut = nl2br($innlegg); mysql_connect("192.168.1.3","morality","morality"); mysql_select_db("morality"); mysql_query("INSERT INTO nyhende (navn, overskrift, innlegg) VALUES ('$navn', '$overskrift', '$innleggut')"); mysql_close(); print "WOOOT det funka jo :s"; } else { print "FEIL PASSORD"; } ?> Endret 24. november 2006 av jOOONAS Lenke til kommentar
Gjest Slettet+142 Skrevet 24. november 2006 Del Skrevet 24. november 2006 den ser jo bra ut.. hva skjer etter at den er lagt inn? lastes siden på nytt, eller kommer nyhetene opp med en gang uten en automatisk refresh? Lenke til kommentar
jOOONAS Skrevet 24. november 2006 Forfatter Del Skrevet 24. november 2006 den ser jo bra ut.. hva skjer etter at den er lagt inn?lastes siden på nytt, eller kommer nyhetene opp med en gang uten en automatisk refresh? 7350613[/snapback] Skjønner ikke helt hva du mener med etter den er lagt inn. men etter den er lagt inn printes "WOOW det funka jo :S" så går jeg inn på http://www.morality.frac.dk så er der ingenting, selv om det ligger i databasen.. Slik jeg ser det må det være en feil på news.php som ser slik ut : <?php $link = mysql_connect("192.168.1.3","morality","morality"); @mysql_select_db("morality", $link); $result = mysql_query("SELECT * FROM nyhende ORDER BY id DESC LIMIT 1, 5", $link); $number = mysql_num_rows($result); $i = 0; while($row = mysql_fetch_assoc($result)) { $navn = $row["navn"]; $overskrift = $row["overskrift"]; $innlegg = $row["innlegg"]; print "<b>$overskrift</b> <br> <br>"; print "$innlegg<br>"; print "<img src='images/asdasdasd_11.png'/><br>"; print "<span class='writer'>$navn</span><br><br><br>"; $i++; } mysql_free_result($result); mysql_close(); ?> Lenke til kommentar
PHPdude Skrevet 24. november 2006 Del Skrevet 24. november 2006 http://no2.php.net/manual/en/security.data...l-injection.php Les NØYE! 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å