Avatar billede superdreng Nybegynder
23. september 2007 - 14:24 Der er 4 kommentarer og
1 løsning

Hvorfor satter denne funktion det forkert ind?

Hej alle experter!

På min forside har jeg en script som henter data ud af mysql databasen.
Problemmet er bare at vis jeg sætter data ind via min script bliver de ikke vist på forsiden, men de kommer i mysql.

Min funktioner.php:
<?php
if($_POST[sendtnyhed] == '1'){
include("../connect.php");
mysql_query("INSERT INTO news (id, overskrift, forfatter, smalltekst, tekst, tid, views) VALUES ('', '$_POST[overskrift]', '$_POST[forfatter]',  '$_POST[smalltekst]', '$_POST[tekst]', NOW(), '')") OR DIE(mysql_error());
?>
<script type="text/javascript">
    location.replace("http://www.xxxx.dk/")
</script>
<?php
}   
?>


Scripten til at hente data'erne:
    <?php
    $news = mysql_query('SELECT * FROM `news` ORDER BY `id` DESC LIMIT 0, 30');
    $newsget = mysql_fetch_assoc($news);    
    while($newsget = mysql_fetch_assoc($news)) //Lav en while der kører alle rækker igennem
    {
    ?>
              <tr>
                <td scope="col" height="20px">&nbsp;<img src="images/note.png" alt="" align="absmiddle" />&nbsp;<strong><?php echo $newsget['overskrift']; ?></strong></td>
              </tr>
              <tr>
                <td scope="row">&nbsp;<?php echo $newsget['smalltekst']; ?></td>
              </tr>
              <tr>
                <td height="5" scope="row"><hr size="1" color="#CCCCCC" /></td>
              </tr>

    <?php
    }
    ?>

Kan i sige hvorfor den ikke viser det ordenligt?¨

På forhånd mange tak!

Mvh
Kevin
Avatar billede nielle Nybegynder
23. september 2007 - 14:30 #1
Bliver dit id-felt talt op ved hver postning?

Hvis ikke, skal du definere det som auto_increment. Desuden skal referencer til den så fjernes ved en INSERT:

mysql_query("INSERT INTO news (id, overskrift, forfatter, smalltekst, tekst, tid, views) VALUES ('', '$_POST[overskrift]', '$_POST[forfatter]', '$_POST[smalltekst]', '$_POST[tekst]', NOW(), '')") or die(mysql_error());

ændres til:

mysql_query("INSERT INTO news (overskrift, forfatter, smalltekst, tekst, tid, views) VALUES ('$_POST[overskrift]', '$_POST[forfatter]', '$_POST[smalltekst]', '$_POST[tekst]', NOW(), '')") or die(mysql_error());
Avatar billede johan.o Nybegynder
23. september 2007 - 15:11 #2
Jeg tror måske det er pga. disse to linjer :

$newsget = mysql_fetch_assoc($news);   
while($newsget = mysql_fetch_assoc($news)) {

Første linje henter første række ud af din ressource og anden linje henter umiddelbart derefter anden række ud.....hvad sker der hvis du blot sletter den første linje ?

Mvh. Johan
Avatar billede superdreng Nybegynder
23. september 2007 - 16:59 #3
Du har helt ret johan.o!
Tænk at jeg ikke har set det!

Jeg har sat den til auto_increment ved id. Jeg har prøvet begge dele om det var derfor, men kan kan bruge begge dele. Både at lade vær med at lave et felt til id og hvor man laver et tomt felt :D

Smid et svar johan.o! Dejligt at der er nogen som kan hjælpe en med at de fejl man selv laver! :D
Avatar billede johan.o Nybegynder
23. september 2007 - 17:24 #4
Det kommer her :)

Mvh. Johan
Avatar billede johan.o Nybegynder
23. september 2007 - 18:18 #5
Tak for points :)

...og ofte er problemerne jo bundet i fejl man selv laver i koden...heldigvis :)

Mvh. Johan
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