Avatar billede daniel_d Nybegynder
09. januar 2006 - 12:14 Der er 9 kommentarer og
1 løsning

variabel i array

hvorfor kan jeg ikke lave

        $sidenavn => 'SELECT cat.id AS catid, cat.title, con.id AS contentid FROM jos_categories cat LEFT JOIN jos_content con ON (cat.title = con.title) GROUP BY cat.title ORDER BY cat.title',
        $kategorinavn => "SELECT id AS contentid, catid, title FROM jos_content WHERE catid = $catid ORDER BY title ASC"


Det er $sidenavn og $kategorinavn som den ikke vil acceptere selvom disse er angivet tidligere - det virker fint med 'sidenavn' men da jeg gerne vil hente det fra en xml fil dur det jo ikke...
Avatar billede daniel_d Nybegynder
09. januar 2006 - 12:20 #1
skulle måske have lidt mere kode med

if ($option=="com_content" && $task=="view") {
    $catid = intval( mosGetParam( $_REQUEST, 'Itemid', null ) );
    $queries = array(
        $sidenavn => 'SELECT cat.id AS catid, cat.title, con.id AS contentid FROM jos_categories cat LEFT JOIN jos_content con ON (cat.title = con.title) GROUP BY cat.title ORDER BY cat.title',
        $kategorinavn => "SELECT id AS contentid, catid, title FROM jos_content WHERE catid = $catid ORDER BY title ASC"
    );
Avatar billede jaw Nybegynder
09. januar 2006 - 12:35 #2
Forstår ikke helt. For det første kan du ikke bruge $sidenavn som du gør, det skal bare være "sidenavn" som Rednex skrev i sin løsning. Og så skal du jo bare bruge dem som $queries['sidenavn'] og $queries['kategorinavn'].
Avatar billede daniel_d Nybegynder
09. januar 2006 - 12:46 #3
jo, men da jeg ønsker at kunne definere hvilken tekst der står for sidenavn og kategorinavn og samtidig laver koden til et modul i et cms vil jeg meget gerne kunne hente 'sidenavn' og 'kategorinavn' fra en XML fil

Jeg henter fra XML filen vha.
$sidenavn = $params->get( 'sidenavn' );
$kategorinavn = $params->get( 'kategorinavn' );

Og disse data vil jeg gerne have ind i mit array da det er her det afgøres hvad "navnet" skal være...

Hvis det hjælper med koden i sin helhed er den her:

<?php
/**
* @copyright (C) 2006 eyemedia.dk
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* This module is Free
*/

/** ensure this file is being included by a parent file */
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

require_once( $mainframe->getPath( 'front_html', 'com_content') );
global $$mosConfig_shownoauth;

$access = !$mosConfig_shownoauth;

$moduleclass_sfx = $params->get( 'moduleclass_sfx' );
$antaltd = $params->get( 'antaltd' );
$sidenavn = $params->get( 'sidenavn' );
$kategorinavn = $params->get( 'kategorinavn' );

$option = $_GET['option'];
$task = $_GET['task'];

if ($option=="com_content" && $task=="view") {
    $catid = intval( mosGetParam( $_REQUEST, 'Itemid', null ) );
    $queries = array(
        'sidenavn' => 'SELECT cat.id AS catid, cat.title, con.id AS contentid FROM jos_categories cat LEFT JOIN jos_content con ON (cat.title = con.title) GROUP BY cat.title ORDER BY cat.title',
        'kategorinavn' => "SELECT id AS contentid, catid, title FROM jos_content WHERE catid = $catid ORDER BY title ASC"
    );

    echo "<table class=\"$moduleclass_sfx\">";

    foreach($queries as $headline => $stmt) {
        echo "<tr><td colspan=\"3\"><b>$headline</b></td></tr><tr>";
        $query = mysql_query($stmt);

        $i = 1;
        while ($row = mysql_fetch_array($query)) {
        if ($row['contentid']=="") {
        echo "<td>{$row['title']}</td>";
            if(($i%$antaltd) == 0) {
            echo "</tr><tr>";
            }       
        }
        else {       
            echo "<td><a href=\"index.php?option=com_content&task=view&id={$row['contentid']}&Itemid={$row['catid']}\"  class=\"$moduleclass_sfx\">{$row['title']}</a></td>";
            if(($i%$antaltd) == 0) {
                echo "</tr><tr>";
            }}
            $i++;
        }
        echo "</tr>";
    }
    echo "</table>";
}

?>
Avatar billede jaw Nybegynder
09. januar 2006 - 12:54 #4
Jo, men jeg forstår ikke helt hvorfor de skal blandes ind i dit array. Sidenavn og kategorinavn i dit array er jo blot databaseudtræk og egentlig intet andet.
Avatar billede daniel_d Nybegynder
09. januar 2006 - 12:57 #5
jo men de bruges jo senere:

foreach($queries as $headline => $stmt) {
    echo "<tr><td colspan=\"3\"><b>$headline</b></td></tr><tr>";
Avatar billede daniel_d Nybegynder
09. januar 2006 - 12:57 #6
altså sidenavn og kategorinavn bruges i $headline
Avatar billede jaw Nybegynder
09. januar 2006 - 13:06 #7
Ja okey, men der hvor du udskriver din $headline, så prøv:
...<b>".${$headline}."</b>...
Avatar billede daniel_d Nybegynder
09. januar 2006 - 13:17 #8
Så udskriver den slet ikke nogen headline
Avatar billede daniel_d Nybegynder
09. januar 2006 - 13:21 #9
Nu lykkedes det med: <b>${$headline}</b>

Smid lige et svar... og tak for hjælpen - skal også nok smide point i det andet spørgsmål, men mangler lige svar fra rednex
Avatar billede jaw Nybegynder
09. januar 2006 - 13:30 #10
Selv tak :)
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