php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-01-2005, 11:51
Citycobra
 Junior Member
Links : Onlinestatus : Citycobra ist offline
Registriert seit: May 2002
Beiträge: 66
Citycobra ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Funktion] Array Problemm

Hallo,

ich hab da ein Problemm mit array()s, ich möchte mir im meinem Script zur auswahl von Kategorien ein Select menu mit den kategorien anzeigen lassen, das Anzeige Format ist:

/index
/index/allgemein/
/index/allgemein/webdesign
/index/PHP
/Index/PHP/Scripte usw

das funktioniert auch soweit bis auf die tatsache wenn ich die kategorien umverteile entweder die kategorie ohne namen also ein leerer Eintrag erscheint, oder einfach der vorherige eintrag doppelt vohanden ist. ich hab schon alles probiert und finde keine lössung, kann mir da mal jemand helfen. hier die functionen zum erstellen des Select Menus:

PHP-Code:
function selectgroup($subid=0) {
    global 
$db$n;
                
// abfrage der einträge aufsteigent von 0 bis...
    
$group $db->query("SELECT * FROM dp".$n."_newsgroup WHERE visible=1 ORDER BY 'group' ASC");
    
$subgroup "<select name=\"group\">";
    
$i=1;
    
$grouparray[0][0] = "/Index"// angezeigte beschreibung
    
$grouparray[0][1] = 0//Kategorie ID
    //ab hier werden die auswahl felder erstellt.
               
while ($row $db->fetch_array($group)) {
        
$grouparray[$i][0] = getcat($row,$grouparray);
        
$grouparray[$i][1] = $row['groupid'];
        
$i++;
    }
    
usort($grouparray'sortCatArray');
    foreach(
$grouparray as $phat) {
        if (
$row['groupid'] == $phat[1]) $subgroup .= "<option value=\"$phat[1]\" selected>$phat[0]</option>\n";
        else 
$subgroup .= "<option value=\"$phat[1]\">$phat[0]</option>\n";
    }
    
$subgroup .= "</select>";
    return 
$subgroup;
}
// hier werden die Unterkategorien zusammen gefügt
function getcat($row,$grouparray){
    
$l $row['group']; 
    if(isset(
$row['group'])) {
        if(isset(
$grouparray[$l][1]) && $grouparray[$l][1] == $l) {
            
$addgroup $grouparray[$l][0];
            
$title .= $addgroup."/".$row[title];
            }
        } else {
            
$title "/Index/".$row['title'];
        }
        return 
$title;
}
hier werden die kompletten Kategorien sortiert
function sortCatArray($a$b) {
    return 
strcmp($a[0], $b[0]);

und hier ist der SQL Dump

PHP-Code:
 CREATE TABLE `dp1_newsgroup` (
  `
groupidint(11unsigned NOT NULL auto_increment,
  `
groupint(11) default '0',
  `
titlevarchar(250collate latin1_general_ci NOT NULL default '',
  `
descriptiontext collate latin1_general_ci NOT NULL,
  `
imagesvarchar(255collate latin1_general_ci NOT NULL default '',
  `
keywordstext collate latin1_general_ci NOT NULL,
  `
countnewsint(11unsigned NOT NULL default '1',
  `
visibletinyint(1NOT NULL default '0',
  
PRIMARY KEY  (`groupid`)
ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=;

-- 
-- 
Daten für Tabelle `dp1_newsgroup`
-- 

INSERT INTO `dp1_newsgroupVALUES (10'Allgemein''Allgemeine News und Offtopic'''''01);
INSERT INTO `dp1_newsgroupVALUES (20'PHP''News rund um PHP'''''01);
INSERT INTO `dp1_newsgroupVALUES (32'Scripte''Neu erschienene PHP Scripte die man sich ansehen sollte.'''''01);
INSERT INTO `dp1_newsgroupVALUES (40'hp-scripte.de''Neues über unsere Projekte'''''11);
INSERT INTO `dp1_newsgroupVALUES (51'DPE''Hier finden Sie die aktuellen News zum DynamicPortal'''''11);
INSERT INTO `dp1_newsgroupVALUES (60'MySQL''News rund um MySQL'''''01); 
wie gesagt die anzeige funktioniert, nur halt nach einer umstellung der kategorien nicht.

Geändert von Citycobra (17-01-2005 um 12:00 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 17-01-2005, 12:20
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sortier doch im sql... das problem is wohl deine sortier funktion... die unnötig is
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #3 (permalink)  
Alt 17-01-2005, 12:29
Citycobra
 Junior Member
Links : Onlinestatus : Citycobra ist offline
Registriert seit: May 2002
Beiträge: 66
Citycobra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi,

die sortier function ist leider nicht unnötig da das Select Menu sortiert ausgegeben werden soll, bei der SQL DB muss die sortierung bei 0 anfangen da sonst die einträge zum zusammen fügen der Kategorien " /index/php/ usw nicht funktioniert. das Problem ist ja eigentlich imme rnur der array[$i][0] eintrag mit der beschreibung, den die ID wird immer korekt eingetragen nur halt die zusammen gefügte Kategorie nicht,
wenn du bei der angegeben db nur den eintrag 5 also die MySQL kategorie der PHP kategorie (3) zuweist tritt der fehler auf, die menus werden an sonsten korrekt angezeigt und auch korrekt Sortiert

also das sieht so aus

0 = Index
1 = Index/Allgemein
5 = Index/Allgemein/DPE
2 = Index/PHP usw....

Geändert von Citycobra (17-01-2005 um 12:31 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 17-01-2005, 12:38
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du holst alle daten aus der db also kannste da auch sortieren...
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #5 (permalink)  
Alt 17-01-2005, 12:48
Citycobra
 Junior Member
Links : Onlinestatus : Citycobra ist offline
Registriert seit: May 2002
Beiträge: 66
Citycobra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

klar kann ich sortieren, tu ich ja auch und zwar nach Kategorie (group)

von 0 aufsteigent, danach wird der array doch nur noch von A aufwärts sortiert, ich brauche immer die oberste Kartegorie zuerst also in meinem fall zuerst 0 dann 1 usw

Mach ich das in der DB bekommen ich nicht die gewünschte anzeige, denn liegt zb die hauptkategorie 0 am ende und verweise mit einer kategorie darauf die am anfang steht finder die abfrage die Haupkategorie nicht weil sie ja noch nicht im array steht. also habe ich unvollständige einträge.

schau dir mal den Dump an vieleicht weist du dann was ich meine.


Geändert von Citycobra (17-01-2005 um 12:51 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 17-01-2005, 13:07
Citycobra
 Junior Member
Links : Onlinestatus : Citycobra ist offline
Registriert seit: May 2002
Beiträge: 66
Citycobra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry,

ich glaub ich war was schwer von begriff, ich hab gar nicht an die doppelte sortierung gedacht,, gab die abfrage geänder und nun ist der fehler verschwunden hier jetzt mal der korekte bereich für den fall das es jemand brauchen kann.

PHP-Code:
function selectgroup($subid=0) {
    global 
$db$n;
    
$group $db->query("SELECT * FROM dp".$n."_newsgroup  WHERE visible=1 ORDER BY 'group' AND 'title' ASC");
    
$subgroup "<select name=\"group\">";
    
$i=1;
    
$grouparray[0][0] = "/Index";
    
$grouparray[0][1] = 0;
    while (
$row $db->fetch_array($group)) {
        
$grouparray[$i][0] = getcat($row,$grouparray);
        
$grouparray[$i][1] = $row['groupid'];
        
$i++;
    }
    
usort($grouparray'sortCatArray');
    foreach(
$grouparray as $phat) {
        if (
$row['groupid'] == $phat[1]) $subgroup .= "<option value=\"$phat[1]\" selected>$phat[0]</option>\n";
        else 
$subgroup .= "<option value=\"$phat[1]\">$phat[0]</option>\n";
    }
    
$subgroup .= "</select>";
    return 
$subgroup;

danke für für den hinweis.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

09.10.2020 palle_1977 | Kategorie: PHP
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
Erotik-Portal

Mit unsererem Erotik-Portal erhalten Sie ein komplettes Internetprojekt inklusive einer bedienerfreundlichem Administration sowie zahlreichen wichtigen Funktionen. Unser auf PHP und MySQL basierendes Script bietet Ihnen - und Ihren Besuchern - komfort

18.06.2020 ISD-Genthin | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:51 Uhr.