12. august 2004 - 09:03Der er
29 kommentarer og 2 løsninger
Korte nyheder
Hej Eksperter
Jeg håber i lige kan hjælpe mig med et lille spørgsmål.
Jeg har et nyheds script som skriver en nyhed på en hjemme side.. så langt er jeg nået.
Men nu kommer problemet, jeg skal have delt nyheden ! den skal evt. skrive 60 bogstaver og så laver den "...." efter det ord eller bogstav den deler sig ved.. og så skal der komme et link som hvor der står "Læs mere her" linket kan evt. bare hedde det samme som nyheds id'et.
Jeg håber virkelig i kan hjælpe. Jeg har siddet længe med det.
her er noget af scriptet:
<?php require("db.php"); ?> <? $result = mysql_query("select * from druknyhed order by id DESC"); while($row = mysql_fetch_array($result)) {
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
disse funktioner er brugt på utallige sider, men er ekstremt gode. Har også en gang selv brugt dem, men ikke mere. Skriver nemlig ikke så lange nyheder :)
Du bør nok også lige tjekke om id er sat, og om der rent faktisk er et row i DB'en som svarer til satte id
Synes godt om
Slettet bruger
12. august 2004 - 10:04#10
Det er altid en god ide at lære det man spørger om. Hvem ved, man bliver måske klogere :o)
Ja i bund og grund. Men for at lære mere omkring den enkelte nyhed, skal det vel også kun være den der bliver vist. Derfor skal du ikke bruge ORDER BY `id` DESC. Istedet skal vi kun hente en nyhed, ved at sige: WHERE id = `$_GET[id]`
Når der nu kun hentes en nyhed, behøver du ikke køre det igennem en while løkke, så derfor fjernede jeg også den.
Men det var blot et skud i tågen om hvordan du ville have det, og for at du kunne se metoden i det.
Jeg har 2 sider som jeg gerne vil høre om man kunne forkorte til 1 side.
de ligner meget hinanden, de ser sådan her ud:
Dette her script bruger jeg til at lave den nyeste nyhed som skal stå et andet sted end de andre.
<?php require("db.php"); ?> <? if($navn && $msg) { //Hvis variablerne $nick og $msg er registrered så skal følgende kode eksekveres
$tid = date("d/m Y - H:i"); $navn = htmlentities($navn); $msg = htmlentities($msg); //Giver mulighed for at man kan bruge < og > i teksten
mysql_query("insert into nyhed(id, navn, msg, mail, dato, ip) values ('','$navn','$msg','$mail','$tid','$REMOTE_ADDR')"); //indsætter data ind i databasen
og dette her script er til at lave de små andre nyheder.
<?php require("db.php"); ?> <? if($navn && $msg) { //Hvis variablerne $nick og $msg er registrered så skal følgende kode eksekveres
$tid = date("d/m Y - H:i"); $navn = htmlentities($navn); $msg = htmlentities($msg); //Giver mulighed for at man kan bruge < og > i teksten
mysql_query("insert into nyheder(id, navn, msg, mail, dato, ip) values ('','$navn','$msg','$mail','$tid','$REMOTE_ADDR')"); //indsætter data ind i databasen
Måske de kunne blive lagt sammen så der kom på siden en select menu, hvor man kan vælge at skrive til den ene eller den anden db. hvis i har en anden måde at lave det på er jeg meget villig til idér .. Evt. sådan så den henter kun den første nyhed i DB. så slipper jeg jo for at skrive den ene nyhed over til anden db. hvor jeg har alle mine små nyheder liggende..
Håber i forstår hvad jeg mener. Flere points kan vi sagtens finde ud af. skal bare have dette op og køre :)
? Du har store og små nyheder, i hver deres DB Hvis du vil samle dem i den samme DB, så lav et felt som får værdien 1 eller 0, for at bestemme om det er en stor eller lille nyhed.
Er ikke lige helt med, og jeg har været vågen i et par timer nu! :O)
Jeg har 1 DB. Som jeg bruger til at skrive den nyeste nyhed ind i.
og så har jeg den anden DB. som jeg bruger til at have de gamle nyheder i.
Den første DB. skriver jeg en ny nyhed i hvergang jeg har en ny, som kommer den anden som jeg har stående der i over i den anden DB til de "gamle" nyheder. Men det må da kunne gøres nemmere?
Evt med en DB hvor det ene script henter KUN den første nyhed/id så jeg kan have det stående på siden et sted. og så det andet script skal hente alle de andre nyheder, undtaget den allerøverste som er den nyeste .. hvis du forstår hehe :D.
Synes godt om
Slettet bruger
12. august 2004 - 10:38#19
Du kan jo bruge noget som:
// denne henter den nyeste nyhed. $result = mysql_query("SELECT `id`, `mail`, `navn`, `dato`, `msg` FROM `druknyhed` ORDER BY `id` DESC LIMIT 0,1");
// denne alle andre nyheder, med de nyeste først. $query = mysql_query("SELECT `id` FROM druknyhed"); $antal = mysql_num_rows($query) - 1;
$result = mysql_query("SELECT `id`, `mail`, `navn`, `dato`, `msg` FROM `druknyhed` ORDER BY `id` DESC LIMIT 1,$antal");
Nå jeg vil smutte på arbejde. Men held og lykke med dine druknyheder :) btw, hvis dig og sukos bliver færdig med tråden, så hold mig udenfor det med points. Sukos var her jo først :)
ja, altså, du bruger jo id, som forøges med en hvergang du gemmer noget nyt i DB. Så kan du jo vælge nyeste ud fra den, som cypermann skriver. og så ellers noget af det samme, for at hente de andre:
$query = mysql_query("SELECT MAX(id) as `top` FROM `druknyhed`"); // henter højeste id i DB'en $antal = (mysql_result($query, 0)-1); // træk en fra højeste id
// VIS NYESTE $hent_nyeste = mysql_query("SELECT * FROM `druknyhed` ORDER BY `id` DESC LIMIT 0,1") or die (mysql_error()); $vis_nyeste = mysql_fetch_object($hent_nyeste); echo $vis_nyeste->msg ."<br>\n"; $max = $vis_nyeste->id; mysql_free_result($hent_nyeste);
// VIS ALLE ANDRE, UNDTAGEN NYESTE $hent_andre = mysql_query("SELECT * FROM `druknyhed` WHERE `id` !='". $max ."' ORDER BY `id` DESC") or die (mysql_error()); while($vis = mysql_fetch_object($hent_andre)) { echo $vis->id ."<br>"; } mysql_free_result($hent_andre);
Du kan evt. også køre en query til at finde største id, for at holde $max "adskilt"
$get_max = mysql_query("SELECT MAX(id) FROM `druknyhed`") or die (mysql_error()); $max = mysql_result($get_max, 0); mysql_free_result($get_max);
$hent_nyeste = mysql_query("SELECT * FROM `druknyhed` WHERE `id` = '". $max ."'") or die (mysql_error()); $vis_nyeste = mysql_fetch_object($hent_nyeste); echo $vis_nyeste->msg ." - ". $vis_nyeste->id ."<br>"; mysql_free_result($hent_nyeste);
$hent_andre = mysql_query("SELECT * FROM `druknyhed` WHERE `id` !='". $max ."' ORDER BY `id` DESC") or die (mysql_error()); while($vis = mysql_fetch_object($hent_andre)) { echo $vis->id ."<br>"; } mysql_free_result($hent_andre);
Synes godt om
Slettet bruger
12. august 2004 - 14:59#30
Tja, så får du da et svar; så kan du fordele som du vil. Nå jeg må hellere finde noget frokost, eller hvad man nu skal kalde det :)
Jeg siger tusind tak for jeres hjælp. jeg vil prøve at smide det sammen og få det til at virke hehe !
Synes godt om
Ny brugerNybegynder
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.