Avatar billede bqnke Nybegynder
24. november 2009 - 09:21 Der er 32 kommentarer og
1 løsning

problemer med udskrivning fra sql med php

hej ekspereter.
har problemer med at få udskrevet mine koder .
tælleren tæller fint nok men den udskriver det bare ikke forstår ikke hvad problemet er .
her er min kode:

<?php
$connection = mysql_connect("", "", "")or die(mysql_error());
    mysql_select_db("skoleportfolio", $connection)or die(mysql_error());
   
$data = mysql_query("select * from `koder` where id = '$_GET[id]'");
$show = mysql_fetch_array($data);
$k = mysql_query("SELECT * FROM `koder` WHERE katerogiid = '$_GET[id]'") or die(mysql_error());
$ant = mysql_num_rows($k);
$lw = mysql_query("SELECT * FROM `koder` WHERE id = '$_GET[id]'") or die(mysql_error());
$row = mysql_fetch_array($lw);
?>

<font face="Tahoma" size="2">De viste  tilhøre kategorien:<b> <? echo $row[navn]; ?>.</b><br>
I kategorien er der i alt<b> <? echo $ant; ?> </b>koder.

</font>

<hr size="1">

<?
$data = mysql_query("SELECT * FROM `koder` WHERE katerogiid = '$_GET[id]' ORDER BY id DESC");
while ($show == mysql_fetch_array($data)) {
   
?>
<?
$cnt=0;
$sql = "select * from `koder`" or die(mysql_error());
$query = mysql_query($sql) or die(mysql_errno()." ".mysql_error()."<br><br>".$sql);
while ($r == mysql_fetch_array($query)) {
  $cnt=$cnt+1;
  $kodenavn=$r['kodenavn'];
  $id=$r['id'];
    echo $kodenavn ;
}
?>
<?
}
?>

link til siden sp i kan se det http://gratiis.dk/ikkeduparelavent/portfolio/kategori.php?id=1

håber i kan hjælpe.

nicolai.
Avatar billede michael_stim Ekspert
24. november 2009 - 10:28 #1
Alle de steder du kører arrayet igennem med en while, har du 2 er lig med tegn. Der skal kun være et.

while ($r = mysql_fetch_array($query)) {
Avatar billede michael_stim Ekspert
24. november 2009 - 10:29 #2
Og er det virkelig nødvendigt med alle de mysql_query?
Avatar billede showsource Seniormester
24. november 2009 - 10:30 #3
Til en start kan du som det første i scriptet bruge
ini_set('error_reporting', E_ALL);

i toppen.
Og hvorfor har du alle de queries ?

Og din $sql skal være:
$sql = "select * from `koder`";

Og
while ($r = mysql_fetch_array($query)) {

kun en =
Avatar billede michael_stim Ekspert
24. november 2009 - 10:35 #4
Og så har du php start- og sluttags umotiveret mange gange. Alle sådanne ting tager tid. Hver gang du laver en forspørgsel til databasen, hver gang du går ind og ud af php osv osv.
Avatar billede bqnke Nybegynder
24. november 2009 - 10:50 #5
Mange tak for hjæpen læg et svar begge så delere i pointne:)
Avatar billede michael_stim Ekspert
24. november 2009 - 10:53 #6
Ellers tak, samler ikke på point ;o)
Avatar billede bqnke Nybegynder
24. november 2009 - 10:57 #7
michael_stim
hvis du har lyst vil du så ikke lige hjælpe mig med at få den til at udskrive orden ligt nu udskriver den en masse andet end kun kode navnet som jeg bad den om tjek linket.


koden ser sådan her ud nu:

<?php
$connection = mysql_connect("mysql1027.servage.net", "skoleportfolio", "EVWRafSP1")or die(mysql_error());
    mysql_select_db("skoleportfolio", $connection)or die(mysql_error());
   
$data = mysql_query("select * from `koder` where id = '$_GET[id]'");
$show = mysql_fetch_array($data);
$k = mysql_query("SELECT * FROM `koder` WHERE katerogiid = '$_GET[id]'") or die(mysql_error());
$ant = mysql_num_rows($k);
$lw = mysql_query("SELECT * FROM `koder` WHERE id = '$_GET[id]'") or die(mysql_error());
$row = mysql_fetch_array($lw);
?>

<font face="Tahoma" size="2">De viste  tilhøre kategorien:<b> <? echo $row[navn]; ?>.</b><br>
I kategorien er der i alt<b> <? echo $ant; ?> </b>koder.

</font>

<hr size="1">

<?
$data = mysql_query("SELECT * FROM `koder` WHERE katerogiid = '$_GET[id]' ORDER BY id DESC");
while ($show = mysql_fetch_array($data)) {
   
?>
<?
$cnt=0;
$sql = "select * from `koder`" or die(mysql_error());
$query = mysql_query($sql) or die(mysql_errno()." ".mysql_error()."<br><br>".$sql);
while ($r = mysql_fetch_array($query)) {
  $cnt=$cnt+1;
  $kodenavn=$r['kodenavn'];
  $id=$r['id'];
    echo $kodenavn;
    echo "<br>";
}
?>
<?
}
?>
Avatar billede michael_stim Ekspert
24. november 2009 - 11:09 #8
Prøv at fjerne nogle af alle dine mysql_querys.

Og hvis du kun behøver kodenavn, behøver du ikke spørge efter alt i tabellen.
Avatar billede bqnke Nybegynder
24. november 2009 - 12:01 #9
jeg kan ikke få de ttil at funke ordenlidt.

vil du ikke prøve at vise mig hvordan du mener den skal se ud for at virke?
Avatar billede michael_stim Ekspert
24. november 2009 - 12:09 #10
Det nytter jo ikke noget at andre laver det for dig, så lærer man det aldrig.

Sig hvad du vil have, eller hvad du forventer at koden skla gøre og post det du er kommet frem til herind (den kode der fejler).
Avatar billede michael_stim Ekspert
24. november 2009 - 12:17 #11
Og se om du ikke kan få en coadmin herinde til at fjerne dine indlogningsdata til DB.
Avatar billede bqnke Nybegynder
24. november 2009 - 12:30 #12
jeg vil gerne have den til kun at udskrive kode navnet og så hoppe ned på næste linje og udskrive det næste kodenavn
Avatar billede bqnke Nybegynder
24. november 2009 - 12:31 #13
hvor kan jeg få fat i en co admin ?
Avatar billede michael_stim Ekspert
24. november 2009 - 12:33 #14
Du skriver et mail og henviser til dette spørgsmål.

Det burde være nok at skrive (det nederste):

<hr size="1">
<?php

$sql1 = "select kodenavn from `koder` WHERE katerogiid = ".$_GET['id']." ORDER BY id DESC";
$result1 = mysql_query($sql1) or die(mysql_errno()." ".mysql_error()."<br><br>".$sql);
while ($r = mysql_fetch_array($result1)) {
  echo $r['kodenavn']."<br>\n";
}
?>
Avatar billede bqnke Nybegynder
24. november 2009 - 12:37 #15
nu viser den kun kode navnet godt nok :). men så gentager den sig 3 gange.
Avatar billede michael_stim Ekspert
24. november 2009 - 12:40 #16
Alt som alt burde det se nogenlunde sådan her ud (OBS ikke testet eller gået igennem for evt slåfejl osv):

<?php
$connection = mysql_connect("", "", "")or die(mysql_error());
mysql_select_db("skoleportfolio", $connection)or die(mysql_error());
$sql="SELECT DISTINCT navn, count(*) AS antal FROM koder WHERE kategoriid=".$_GET['id']."";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
?>

<font face="Tahoma" size="2">De viste  tilhøre kategorien:<b> <?php echo $row['navn']; ?>.</b><br>
I kategorien er der i alt<b> <?php echo $row['antal']; ?> </b>koder.

</font>
<hr size="1">
<?php

$sql1 = "select kodenavn from `koder` WHERE katerogiid = ".$_GET['id']." ORDER BY id DESC";
$result1 = mysql_query($sql1) or die(mysql_errno()." ".mysql_error()."<br><br>".$sql);
while ($r = mysql_fetch_array($result1)) {
  echo $r['kodenavn']."<br>\n";
}
?>
Avatar billede bqnke Nybegynder
24. november 2009 - 12:44 #17
mange mange tak for hjælpen .
Avatar billede bqnke Nybegynder
24. november 2009 - 12:47 #18
må jeg stille et hurtigt spørgsmål ?
Avatar billede michael_stim Ekspert
24. november 2009 - 12:52 #19
Det er det forummet er til ;o)
Avatar billede bqnke Nybegynder
24. november 2009 - 13:01 #20
hvis du går ind på http://gratiis.dk/ikkeduparelavent/portfolio/index2.php

og ind i opgaver i menu'en og så trykker på html/css .

så vil jeg åbne ?MenuID=kategori.php?id=1 på siden, men det vil den ikke give mig lov til den sender mig bare til start.

kategori.php?id=1 virker uden problemer hvis man bare åbner det i linket altså http://gratiis.dk/ikkeduparelavent/portfolio/kategori.php?id=1 .

kan du fortælle mig hvorfor den ikke vil give mig lov til at åbne den inde i designet ?:)
Avatar billede bqnke Nybegynder
24. november 2009 - 13:03 #21
jeg har lavet koden på index'en sådan her :
<?php
$filename = "Start.php";
} else {
$filename = "$_GET[Menu].php";
}
if (file_exists($filename)) {
include("$filename");
} else {
include "start.php";
}
?>
Avatar billede michael_stim Ekspert
24. november 2009 - 13:09 #22
Skal du ikke have et & tegn?

MenuID=kategori.php&id=1
Avatar billede bqnke Nybegynder
24. november 2009 - 13:12 #23
nej?
hvorfor skulle jeg det ?
har prøvet at indsætte det istedet for? men den vil stadig ikke udskrive det .
Avatar billede michael_stim Ekspert
24. november 2009 - 13:13 #24
Klikker du på linket får du dette:
http://gratiis.dk/ikkeduparelavent/portfolio/index2.php?MenuID=kategori.php?id=1

Altså index2.php osv
Avatar billede michael_stim Ekspert
24. november 2009 - 13:14 #25
Du får altså for meget med.
Avatar billede bqnke Nybegynder
24. november 2009 - 13:15 #26
nej jeg arbejder ude i de mapper og linkene passer.
Avatar billede michael_stim Ekspert
24. november 2009 - 13:16 #27
$_GET[Menu].php

Kan ikke se der er noget der hedder Menu. Og .php står der allerede i menulinien.
Avatar billede bqnke Nybegynder
24. november 2009 - 13:17 #28
Avatar billede michael_stim Ekspert
24. november 2009 - 13:18 #29
Men du linker til MenuID
Avatar billede bqnke Nybegynder
24. november 2009 - 13:18 #30
løsningen som du sagde det er mig der hopper rundt i det http://gratiis.dk/ikkeduparelavent/portfolio/index2.php?Menu=kategori&id=1
Avatar billede bqnke Nybegynder
24. november 2009 - 13:20 #31
tak for hjælpen :)
Avatar billede michael_stim Ekspert
24. november 2009 - 13:21 #32
Så accepterer du bare det svar du har lagt, så vi kan få lukket ;o)
Avatar billede bqnke Nybegynder
24. november 2009 - 13:30 #33
fair nok :)
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
Kurser inden for grundlæggende programmering

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