Avatar billede anetteogjesper Nybegynder
22. juni 2005 - 19:51 Der er 44 kommentarer og
1 løsning

Hvad skal der laves om med koden?

Hej

Har haft en eller anden fejl på siden og satte or die (mysql_error()); ind.

Nu melder den denne fejl:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY name' at line 4


Men jeg ved ikke til hvad jeg skal ændre det?

<?php
        $result=mysql_query("
        SELECT id, name, price, picture, rabat FROM inventory
        WHERE category =".$catagory."
        AND ucatagory =".$ucatagory."
        ORDER BY name
        ") or die (mysql_error());

       
        //tjekker om der er fundet noget
        if (mysql_num_rows($result) <1)
        {
            echo "<br>Ingen ting fundet inden for kategorien";
            die();
        }
        else
        {
            //så længe der er en række i rusltatet så:
            while($row=mysql_fetch_array($result))

OSV....
Avatar billede coderdk Praktikant
22. juni 2005 - 20:26 #1
Prøv at lave:

        $result=mysql_query("
        SELECT id, name, price, picture, rabat FROM inventory
        WHERE category =".$catagory."
        AND ucatagory =".$ucatagory."
        ORDER BY name
        ") or die (mysql_error());

om til

        $sql = "
        SELECT id, name, price, picture, rabat FROM inventory
        WHERE category =".$catagory."
        AND ucatagory =".$ucatagory."
        ORDER BY name
        ";
        $result=mysql_query($sql) or die (mysql_error());

Nu er det forholdsvist nemt lige at skrive $sql ud for at se hvordan den ser ud!
Avatar billede anetteogjesper Nybegynder
23. juni 2005 - 12:01 #2
Nej det er desværre det samme!
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY name' at line 4
Avatar billede coderdk Praktikant
23. juni 2005 - 17:49 #3
Ja, men du skulle jo ligesom lave en echo $sql; før mysql_query, så kan du se hvad den prøver at køre, og sikkert hvad fejlen er :)
Avatar billede Slettet bruger
24. juni 2005 - 11:36 #4
coderdk: Ja, men det glemte du at skrive ;-)

I den nye kode, så ret sidste linie til:

$result=mysql_query($sql) or die ($sql . mysql_error());
Avatar billede coderdk Praktikant
24. juni 2005 - 16:50 #5
sandbox: Meget sandt :)

Selv foretrækker jeg at brugerne ikke få unødig information om systemet og fejlen - Så jeg ville skrive det ud før:

echo $sql;
$result=mysql_query($sql) or die (mysql_error());

Og så fjerne det når fejlen er fundet :) Men der er sådan set ikke noget i vejen for at gøre som sandbox skriver, kan brugerne også paste fejlen i en mail hvis de melder den - nemmere at finde ud af hvor den er så :)
Avatar billede anetteogjesper Nybegynder
24. juni 2005 - 22:57 #6
Har indsat:

$sql = "
        SELECT id, name, price, picture, rabat FROM inventory
        WHERE category =".$catagory."
        AND ucatagory =".$ucatagory."
        ORDER BY name
        ";
        $result=mysql_query($sql) or die ($sql . mysql_error());


Så siger den:
SELECT id, name, price, picture, rabat FROM inventory WHERE category = AND ucatagory = ORDER BY name You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND ucatagory = ORDER BY name' at line 3
Avatar billede anetteogjesper Nybegynder
24. juni 2005 - 23:06 #7
Hvis jeg indsætter dette:
$result=mysql_query($sql) or die (mysql_error());


  $result=mysql_query(" SELECT id, name, price, picture, rabat FROM inventory WHERE ((category ='".$catagory."') AND (ucatagory ='".$ucatagory."')) ORDER BY name ") or die (mysql_error());
echo $sql;
$result=mysql_query($sql) or die (mysql_error());

       
        //tjekker om der er fundet noget
        if (mysql_num_rows($result) <1) mm.

skriver den:
Query was empty
Avatar billede Slettet bruger
24. juni 2005 - 23:16 #8
Begge variable er tomme. Muligvis fordi de er stavet forskelligt? I PHP-koden skriver du catagory og i SQLen category.

Ellers går jeg ud fra at de skal komme fra en formular? Prøv med følgende i starten af koden:

$catagory = isset($_POST['category']) ? $_POST['category'] : '';
$ucatagory = isset($_POST['category']) ? $_POST['category'] : '';

Eller ret til catagory i $_POST, hvis det skal hedde sådan
Avatar billede anetteogjesper Nybegynder
24. juni 2005 - 23:29 #9
Ja den skal hente data fra en mysql database.

Skal jeg indsætte før ovenstående kode?
Avatar billede Slettet bruger
24. juni 2005 - 23:51 #10
Ja, det var meningen.

Forresten kunne det være en god ide ikke at søge, hvis variablerne er tomme, så her er en ny omgang kode - denne gang har jeg stavet category korrekt alle steder, og der er også kommet '' om variablerne i SQL-koden:

$category = isset($_POST['category']) ? $_POST['category'] : '';
$ucategory = isset($_POST['category']) ? $_POST['category'] : '';

// Hvis variablerne er tomme kan der ikke findes noget
if (empty($category) || empty($ucategory)){
  $antal=0;
  echo "Der skal angives kategori og underkategori.";
} else {
  $sql = "
        SELECT id, name, price, picture, rabat FROM inventory
        WHERE category ='".$category."'
        AND ucategory ='".$ucategory."'
        ORDER BY name
        ";
  $result=mysql_query($sql) or die ($sql . mysql_error());
  $antal=mysql_num_rows($result);
}

//tjekker om der er fundet noget
if ($antal < 1)
Avatar billede anetteogjesper Nybegynder
24. juni 2005 - 23:57 #11
Den ovenstående kode fjerner desværre tingene fra hovedsiden, så det går ikke øv

Der skal angives kategori og underkategori.
Ingen ting fundet inden for kategorien
Avatar billede Slettet bruger
25. juni 2005 - 00:36 #12
Kun i de tilfælde, hvor siden alligevel ville have været gået død med fejl, fordi variablerne var tomme. (Ellers har du noget inden for en if-blok, som burde have været efter den i stedet.)

Er du sikker på navnet på variablerne og felterne i databasen? Hvis de hedder catagory i formularen, bør du rette det til category - det er altid lettere at holde styr på variabelnavne, når man staver dem rigtigt, for så skal man ikke huske hvordan man har stavet dem forkert.
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 01:03 #13
Jeg har lidt svært ved at foklare det uden at vise dig php'en m.m.

Men problemet er jo groft at vareOversigt.php godt kan vises når du trykker ind fra siden www.xxxxx.dk, men ikke når du sætter for sig selv: http://www.xxxxx.dk/vareOversigt.php?category=13&ucategory=57 og det skulle den gerne. Jeg ville gerne sende dig noget kode?
Avatar billede Slettet bruger
25. juni 2005 - 01:22 #14
Så kan vi lave denne blok om, så der altid bliver ledt efter noget - også hvis der ikke er valgt kategori:

// Hvis variablerne er tomme tager vi bare det hele
if (empty($category) || empty($ucategory)){
  $sql="SELECT id, name, price, picture, rabat FROM inventory ORDER BY name";
} else {
  $sql = "
        SELECT id, name, price, picture, rabat FROM inventory
        WHERE category ='".$category."'
        AND ucategory ='".$ucategory."'
        ORDER BY name
        ";
}
  $result=mysql_query($sql) or die ($sql . mysql_error());
  $antal=mysql_num_rows($result);
Avatar billede Slettet bruger
25. juni 2005 - 01:24 #15
Hov forresten: variablerne kommer fra adresselinien og ikke fra en formular? Så skal der bruges $_GET i stedet for $_POST. Hvis de kan komme på begge måder, kan du bruge $_REQUEST i stedet.
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 11:14 #16
Hmm jeg er vist for dum..
Du får lige hele koden:
<?php

session_start();

//etablere forbindelse
require('mysql.php');

//henter variabler fra URL'en
$catagory=$_GET['category'];
$ucatagory=$_GET['ucategory'];

#############  4u2x.dk  ############# Start

$PHP_SELF = $_SERVER['PHP_SELF'];
$nyurlvari = "";

foreach($_GET as $variable => $value) {
  $nyurlvari .= $variable . "=$value&";
}

$nyurldif = $PHP_SELF . "&" . $nyurlvari;
?>


<?
#############  4u2x.dk  ############# Slut
?>

<html>
    <head>

<script language="JavaScript">
if (parent.frames.length==0) {
parent.top.location.href = "http://www.xxxxx.dk/?nyurl=<?=$nyurldif;?>"
}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>Vare oversigt</title>

        <link rel="stylesheet" type="text/css" href="css/vareOversigt.css">


    </head>
   
    <body><br>
    <center>
        <div class="overskrift">Oversigt over varerne</div><br>
    </center>
        <div align="center"><table>
        <?php

  $result=mysql_query(" SELECT id, name, price, picture, rabat FROM inventory WHERE ((category ='".$catagory."') AND (ucatagory ='".$ucatagory."')) ORDER BY name ") or die (mysql_error());


       
        //tjekker om der er fundet noget
        if (mysql_num_rows($result) <1)
        {
            echo "<br>Ingen ting fundet inden for kategorien";
            die();
        }
        else
        {
            //så længe der er en række i rusltatet så:
            while($row=mysql_fetch_array($result))
            {
                echo "
                    <tr valign=top>
                        <td align=right>
                            <a href=visvare.php?item_id=".$row["id"].">
                                <img src=http://www.xxxxx.dk/".$row["picture"]." height=130 border=0>
                            </a>
                        </td>
                        <td>
                            <div class=beskrivelse>
                                    <p class=overskrift2>".$row["name"]."</p>
                                    ";
                                   
                                if($row["rabat"]>0)
                                {
                                    echo "<span class=\"glPris\">Før pris: ".$row["rabat"]." kr.<br></span>";
                                    echo "<span class=\"nyPris\"><br><b>        Nu: <span class=\"nyPrisFarve\">".$row["price"]."</span></b> kr.</span>";
                                   
                                    //Pris: ".$row["price"];
                                }else
                                {
                                    echo "<br><b>        Pris: ".$row["price"]."</b>";
                                }
                               
                echo        "</div>
                        </td>";
            }
        }

?>
    </table></div>
    </body>
</html>
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 11:17 #17
Ovenstående kode virker sammen med siden, men kan ikke kalde for sig selv og det ville jeg jo gerne have... Min anden side visvare.php, kan godt hente fra databasen se her: http://www.xxxxx.dk/visvare.php?item_id=90
Hvis du gerne vil se denne kode kan du bare sige til.
mvh
Anette
Avatar billede Slettet bruger
25. juni 2005 - 14:55 #18
Det, der går galt er i nyurl-koden, som tilsyneladende "glemmer" at medsende oplysningerne, når den åbner vareOversigt-rammen. Dermed er de to variable tomme, og der kan naturligvis ikke findes noget.

PS. Jeg vil stadig anbefale dig at rette det, de steder hvor du skriver catagory.
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 19:46 #19
Ja, jeg ved godt det er den nye kode, men det virker jo med visvare.php

Var det til denne, jeg skulle ændre category:
$catagory = isset($_POST['category']) ? $_POST['category'] : '';
$ucatagory = isset($_POST['category']) ? $_POST['category'] : '';


visvare.php:
<?php
// visvare.php v1.00 06/04/2005

session_start();
//etablerer forbindelse til databasen
require("mysql.php");
$display_block = "";

// Validering af varen
$get_items = "SELECT c.name, si.name, si.price, si.description, si.rabat, si.picture FROM inventory AS si left join category AS c ON c.id = si.category WHERE si.id = '$_GET[item_id]'";
$get_items_res = mysql_query($get_items)
    or die (mysql_error());

if (mysql_num_rows($get_items_res) <1) {
    //varen ikke valid
    $display_block .= "<p><em>Invalid vare valgt</em></p>";

} else {
    //varen ok, hent oplysninger
    $name = strtoupper(stripslashes(mysql_result($get_items_res,0,'name')));
    $price = mysql_result($get_items_res,0,'price');
    $description = stripslashes(mysql_result($get_items_res,0,'description'));
    $rabat = mysql_result($get_items_res,0,'rabat');
    $picture = mysql_result($get_items_res,0,'picture');

    //Lav et "brødkrummespor"
    $display_block .= "<em>Du ser på:</em><br><div class=\"gruppeLokation\">".$name."</div><br>\n";
        $display_block .= "<div class=\"mainBox\">\n";
        $display_block .= "<div id=\"imageBox\">\n";
        $display_block .= "<a href=\"java script:popUp('big_$picture')\"><img src=\"".$picture."\"></a>\n";
        $display_block .= "</div>";

        //opbyg formular
        $display_block .= "<div id=\"formSelect\">\n";

        $display_block .= "<form name=\"sels\" method=\"POST\" action=\"addtocart.php\">\n";
        $display_block .= "<div id=\"formSelect_1\">Type/Størrelse/Farve<br><br>\n";
        $display_block .= "<select name=\"sel_item_size\" id=\"sel1\" onchange=\"createOpts(this,'sel1','sel2');\">\n";
        $display_block .= "<option value=\"\" selected>Vis alle</option>\n";
        $display_block .= "</select></div>\n";
        $display_block .= "<div id=\"formSelect_2\">Antal<br><br>\n";
        $display_block .= "<select name=\"sel_item_qty\" id=\"sel2\">\n";
        $display_block .= "<option value=\"\" selected>----</option></select></div><br>\n";

#############  4u2x.dk  ############# Start

$PHP_SELF = $_SERVER['PHP_SELF'];
$nyurlvari = "";

foreach($_GET as $variable => $value) {
  $nyurlvari .= $variable . "=$value&";
}

$nyurldif = $PHP_SELF . "?" . $nyurlvari;
?>


<?
#############  4u2x.dk  ############# Slut
?>

<html>
<head>

<script language="JavaScript">
if (parent.frames.length==0) {
parent.top.location.href = "http://www.xxxxx.dk/?nyurl=<?=$nyurldif;?>"
}
</script>

<title>viser varen</title>
<link rel="stylesheet" type="text/css" href="css/visvare.css">
<link rel="stylesheet" type="text/css" href="rullepanel2.css">
<?php
//opbyg variabler til javascript
//hent størrelser
$get_sizes = "SELECT item_size FROM store_item_size where item_id = '$_GET[item_id]' ORDER BY item_size";
$get_sizes_res = mysql_query($get_sizes) or die(mysql_error());

  if (mysql_num_rows($get_sizes_res) > 0) {
  $display_form="<script language=\"javascript\" type=\"text/javascript\">\nvar arr = [\n";
    while ($sizes = mysql_fetch_array($get_sizes_res)) {
    $item_size = $sizes['item_size'];
    $display_form .= "[\"$item_size\",\n";

        //hent antal
        $get_qty = "SELECT store_item_qty FROM store_item_size where item_id = '$_GET[item_id]' AND item_size='$item_size' ORDER BY item_size";
        $get_qty_res = mysql_query($get_qty) or die(mysql_error());

        $qty = mysql_fetch_array($get_qty_res);
        $store_item_qty = $qty['store_item_qty'];
        if ($qty['store_item_qty'] < 1) {$display_form .= "[\"UDSOLGT\"";} else {$display_form .= "[\"1\"";}
                for ($i=1; $i<=$store_item_qty; $i++) {
                        if ($i==1) {$display_form .= "";} else {$display_form .= ",\"$i\"";}
                }
                $display_form .= "]],\n";
    }
    $display_form .= "];\n";
    $display_form = str_replace("]],\n];\n","]]\n];\n",$display_form);
  } else {
        // Hvis der ikke findes noget i tabel 'store_item-size'
        $display_form  = "<script language=\"javascript\" type=\"text/javascript\">\n";
        $display_form .= "var arr = [[\"INGEN\",[\"0\"]]];\n";
  }

}
print $display_form;
?>
function initSels(){
    createOpts(document.getElementById('sel1'));
}

function createOpts(sel){
    var s = new Array();
    var num = 0, txt = "arr";
    var ar = opt = null;
    var n = sel.selectedIndex;
    var args = createOpts.arguments.length;
    for(var i=1;args>i;i++){
        s[i-1] = document.getElementById(createOpts.arguments[i]);
        if(s[i-1]==sel)num=i;
    }
    if(args>1){
        if(s[num])sel = s[num];
        else return;
    }
    if(n==0&&args>1){
        for(i=num;args>i+1;i++){
            s[i].length = 0;
            opt = document.createElement('OPTION');
            s[i].appendChild(opt);
            opt.value = "";
            opt.text = "????";
        }
        return true
    };
    for(i=0;num>i;i++){
        txt+="["+(s[i].selectedIndex-1)+"][1]";
    }
    ar = eval(txt);
    sel.length = 0;
    opt = document.createElement('OPTION');
    sel.appendChild(opt);
  opt.value = "";
  opt.text = "-- Vælg --";
    for(i=0;ar.length>i;i++){
        opt = document.createElement('OPTION');
        sel.appendChild(opt);
        if(typeof ar[i] == 'object'){
          opt.value = ar[i][0];
          opt.text = ar[i][0];
        }else{
          opt.value = ar[i];
          opt.text = ar[i];
      }
    }
    if(args>num+2){
        for(i=num+1;args-1>i;i++){
            s[i].length = 0;
            opt = document.createElement('OPTION');
            s[i].appendChild(opt);
            opt.value = "";
            opt.text = "\74-- Vælg --";
        }
    }
}
</script>
<script type="text/javascript" language="JavaScript" src="pop.js"></script>

</head>
<body onload="initSels()">
<div align="center">
<div class="overskrift">Detaljer om varen</div>
</div>
<? print $display_block; ?>
<input type="hidden" name="sel_item_id" value="<?=$_GET[item_id]?>">
<input type="hidden" name="sel_item_price" value="<?=$price?>">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="submit" value="Tilføj til indkøbsvognen">
</form></div>
<?
  // check for 'Før' Pris
  if ($rabat > 0)
        {
        print "<span class=\"glPris\">Før ".$rabat."  kr.</span>";
        print "<span class=\"nyPris\">NU <span class=\"nyPrisFarve\">".$price."</span> kr.</span>";
        }
  else
        {
        print "<span class=\"nyPris\">".$price." kr.</span>";
        }
?>
<br><br><br>
<div class="beskrivelseHead">Beskrivelse:</div>
<div class="beskrivelse"><?=$description?></div>
</div>
</body>
</html>
Avatar billede Slettet bruger
25. juni 2005 - 20:41 #20
Det er nyurl-koden på din index-side, der tilsyneladende kun videresender variablerne til visVare og ikke til vareOversigt, så det er den del af index.php, som behander nyurl og laver framen til vareOversigt, jeg skal bruge.
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 21:20 #21
Kan du ikke hjælpe med at fikse det så jeg også kan se vareOversigt med rammer i et nyt vindue?
Avatar billede Slettet bruger
25. juni 2005 - 21:27 #22
Jo, men for at kunne hjælpe, skal jeg se noget af koden fra index.php
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 21:31 #23
gerne må jeg ikke sende den per mail?
min adresse:
anetteogjesper @ xxxxx.dk
Avatar billede Slettet bruger
25. juni 2005 - 21:39 #24
Jeg vil hellere klare det her. Så kommer vi heller ikke ud i noget rod med reglerne på exp.

Det jeg skal bruge for at hjælpe er den del af koden, der laver dit frameset. Mere præcist, den der skruer følgende sammen:

<frame name="Main" src="/visvare.php?item_id=104" target="_self"
scrolling="auto">

og

<frame name="Main" src="/vareOversigt.php" target="_self"
scrolling="auto">

Bemærk, at i det andet tilfælde har den ikke medtaget variable, selv om de er med i adresselinien.

http://www.xxxxx.dk/?nyurl=/vareOversigt.php&category=19&ucategory=42&
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 21:47 #25
Håber dette er nok:
<?
if($_GET["nyurl"] != "")
{
      $vissiden = $_GET["nyurl"];
}
else
{
      $vissiden = "forside.php";
}
?>

<frameset rows="86,*" framespacing="0" border="0" frameborder="0">
  <frame name="topmenu" target="Main" src="top.php" scrolling="auto">
  <frameset cols="5%,25%,65%,5%">
    <frame name="venstre" scrolling="no" noresize src="lodretvenstre.php">
    <frame name="indhold" target="_self" scrolling="auto" src="indhold.php">
    <frame name="Main" src="<?=$vissiden;?>" target="_self"
scrolling="auto">
    <frame name="hojre" src="lodret.php" scrolling="no" name="lodret">
  </frameset>
  <noframes>
  <body>
m.m
Avatar billede Slettet bruger
25. juni 2005 - 22:04 #26
OK, fejlen var ikke kun der alligevel, men det fik mig til at opdage en væsentlig forskel i de to sider. visVare benytter kun en enkelt parameter, og derfor virker den med din eksisterende kode. vareOversigt skal til gengæld have to parametre, og den kan derfor ikke virke på denne måde.

Derudover havde du en lillebitte fejl (et & i stedet for et ?) i vareOversigt, som gav yderligere problemer, men jeg vil næsten tro den er opstået mens du jagtede efter en løsning på problemet.

Det er dette stykke kode, vi skal have fat i:

#############  4u2x.dk  ############# Start

$PHP_SELF = $_SERVER['PHP_SELF'];
$nyurlvari = "";

foreach($_GET as $variable => $value) {
  $nyurlvari .= $variable . "=$value&";
}

$nyurldif = $PHP_SELF . "?" . $nyurlvari;
?>


<?
#############  4u2x.dk  ############# Slut

Før vi kan bruge variablen, skal den laves om til noget, der kan sendes sikkert som en URL, og nu kommer det sjove, for den skal nemlig sendes som en URL to gange, så den skal dobbelt-kodes.

Ret til:

#############  4u2x.dk  ############# Start

$PHP_SELF = $_SERVER['PHP_SELF'];
$nyurlvari = "";

foreach($_GET as $variable => $value) {
  $nyurlvari .= $variable . "=$value&";
}

$nyurldif = urlencode(urlencode($PHP_SELF . "?" . $nyurlvari));

#############  4u2x.dk  ############# Slut

Og det bør du gøre i både visVare og vareOversigt.
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 22:14 #27
Nu siger den "Siden blev ikke fundet" når jeg vil have dem i nyt vindue
http://www.xxxxx.dk/vareOversigt.php?category=13&ucategory=57
og
http://www.xxxxx.dk/visvare.php?item_id=12
Avatar billede Slettet bruger
25. juni 2005 - 22:24 #28
tilsyneladende skulle der kun en urlencode til. Ret linien til

$nyurldif = urlencode($PHP_SELF . "?" . $nyurlvari);
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 22:38 #29
Yes det virker....
Skal jeg så også rette de andre sider der skal kunne vises til:

#############  4u2x.dk  ############# Start

$PHP_SELF = $_SERVER['PHP_SELF'];
$nyurlvari = "";

foreach($_GET as $variable => $value) {
  $nyurlvari .= $variable . "=$value&";
}

$nyurldif = urlencode($PHP_SELF . "?" . $nyurlvari);

#############  4u2x.dk  ############# Slut


Du kan vel ikke hjælpe med at få de andre sider som http://www.xxxxx.dk/indhold.php, http://www.xxxxx.dk/top.php http://www.xxxxx.dk/lodretvenstre.php og http://www.xxxxx.dk/lodret.php til at blive på deres plads i rammen, hvis de bliver kaldt af feks. en søgemaskine?
Avatar billede Slettet bruger
25. juni 2005 - 22:43 #30
Ja, de andre hovedsider skal også rettes til det samme.

De andre rammer kan nøjes med javascript-koden:

<script language="JavaScript">
if (parent.frames.length==0) {
parent.top.location.href = "http://www.xxxxx.dk/"
}
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 22:59 #31
Tusind tak for hjælpen, det er bare vildt dejligt...
Jeg er helt ked af at skulle spørge dig om en enkelt ting mere...
Kan du få under overskriften til at stå i vareoversigten som den gør ved visvare?
Eks. som
"DRENGETØJ 2 ÅR OG OP EFTER" (http://www.xxxxx.dk/visvare.php?item_id=28)
under det nuværende
"Oversigt over varerne" (http://www.xxxxx.dk/vareOversigt.php?category=5&ucategory=2&)
Avatar billede Slettet bruger
25. juni 2005 - 23:12 #32
Jo, hvis jeg lige finder ud af, hvor den fanger det. Men ville du egentlig ikke hellere (eller lige så gerne) have selve varens navn "Bluse langærmet" med på visvare?

Jeg ser lige på det.
Avatar billede anetteogjesper Nybegynder
25. juni 2005 - 23:57 #33
Ja det ville være lækkert med begge dele :-)
Avatar billede Slettet bruger
26. juni 2005 - 00:01 #34
For at fange navnet til vareoversigt:

$res=mysql_query("SELECT name FROM category WHERE id=$category LIMIT 1");
$categoryname=mysql_result($res,0);

Så er det bare at udskrive det på et passende sted.

I visvare kan du bruge alias på felterne ligesom du gør på tabelnavnene, så du kan få begge name-felter frem:

$get_items = "SELECT c.name, si.name AS siname, si.price

og en ny linie til at hente det sammen med de andre:

$siname = strtoupper(stripslashes(mysql_result($get_items_res,0,'siname')));

NB! Det er normalt bedre at bruge f.eks mysql_fetch_assoc til at hente hele rækken på en gang i stedet for at hente felterne enkeltvis.

Så kan den tilføjes sammen med kategorinavnet i "brødkrummelisten".

$display_block .= "<em>Du ser på:</em><br><div class=\"gruppeLokation\">".$name." :: ".$siname."</div><br>\n";
Avatar billede anetteogjesper Nybegynder
26. juni 2005 - 00:36 #35
Det skal udskrives lige under:
<center>
        <div class="overskrift">Oversigt over varerne</div><br>
    </center>

Se den er okay: http://www.xxxxx.dk/visvare.php?item_id=92
Avatar billede Slettet bruger
26. juni 2005 - 01:45 #36
Så skal du bare skrive

<div class="gruppeLokation"><?=$categoryname=></div>

efter den </center>
Avatar billede anetteogjesper Nybegynder
26. juni 2005 - 02:06 #37
Hvis jeg sætter den ind her:
    <center>
        <div class="overskrift">Oversigt over varerne</div><br>


    </center>

<div class="gruppeLokation"><?=$categoryname=></div>

        <div align="center"><table>
        <?php


$res=mysql_query("SELECT name FROM category WHERE id=$category LIMIT 1");
$categoryname=mysql_result($res,0);

  $result=mysql_query(" SELECT id, name, price, picture, rabat FROM inventory WHERE ((category ='".$catagory."') AND (ucatagory ='".$ucatagory."')) ORDER BY name ") or die (mysql_error());

Siger den:
Parse error: parse error, unexpected T_DOUBLE_ARROW, expecting ',' or ';' in /hsphere/local/home/michelle/xxxxx.dk/vareOversigt.php on line 52
Avatar billede Slettet bruger
26. juni 2005 - 02:26 #38
Hov, jeg kom til at skrive =>
Jeg mente ?>
Avatar billede anetteogjesper Nybegynder
26. juni 2005 - 02:32 #39
Har indsat:
    </center>
<div class="gruppeLokation"><?=$categoryname?></div>
        <div align="center"><table>
        <?php

$res=mysql_query("SELECT name FROM category WHERE id=$category LIMIT 1");
$categoryname=mysql_result($res,0);

men den viser ikke noget.
http://www.xxxxx.dk/vareOversigt.php?category=13&ucategory=57
Avatar billede Slettet bruger
26. juni 2005 - 02:48 #40
Du er nødt til at lede efter navnet før du prøver at udskrive det.
Avatar billede anetteogjesper Nybegynder
26. juni 2005 - 11:43 #41
Lede efter navnet, hvad mener du?
Avatar billede Slettet bruger
26. juni 2005 - 14:17 #42
De her to linier leder i databasen efter navnet:

$res=mysql_query("SELECT name FROM category WHERE id=$category LIMIT 1");
$categoryname=mysql_result($res,0);

Så de er nødt til at stå før det sted, hvor du udskriver navnet, her <?=$categoryname?>
Avatar billede anetteogjesper Nybegynder
26. juni 2005 - 18:20 #43
$res=mysql_query("SELECT name FROM category WHERE id=$category LIMIT 1");
$categoryname=mysql_result($res,0);

Skal da stå i php'en?

og hvis jeg indsætter:
<div class="gruppeLokation"><?=$categoryname=></div>

Under i php'en melder den fejl.
Avatar billede Slettet bruger
26. juni 2005 - 19:48 #44
Du skal bare huske at starte og slutte php-blokkene. Ret

    </center>
<div class="gruppeLokation"><?=$categoryname?></div>
        <div align="center"><table>
        <?php

$res=mysql_query("SELECT name FROM category WHERE id=$category LIMIT 1");
$categoryname=mysql_result($res,0);


til

    </center>
<?php
$res=mysql_query("SELECT name FROM category WHERE id=$category LIMIT 1");
$categoryname=mysql_result($res,0);
?>
<div class="gruppeLokation"><?=$categoryname?></div>
        <div align="center"><table>
        <?php
Avatar billede anetteogjesper Nybegynder
26. juni 2005 - 23:01 #45
Ja så virker det :-)

Tusind tak for hjælpen!

Hvis du har lyst til at lege lidt mere kan du gå ind her:
http://www.eksperten.dk/spm/627384 og se om du kan finde ud af at rette den, så det virker...
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