php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-09-2003, 15:10
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard kleine unterstützung beim join

habe zwei tabs:
kat_referenzen mit id|kat|id_language

tab 2:
referenzen mit id|id_kat_referenzen|ueber|text|usw.

zusammenhang ist denke klar. in referenzen steht die id von kat_referenzen, so kann ich genau die refernzen der entsprechenden kategorie zuordnen.
ich möchte jetzt aus kat_referenzen drei verschiedene kategorien holen (kat IN (1,3,5) ) und im gleichen atemzug die referenzen zu der kategorie, welche ja über id genau zugeordnet sind. hab jetzt ne menge probiert, doch dadurch, dass ich gleich drei verschiedene ids aus kat_referenzen hole, gelingt es mir nicht die refernzen zu der id zu holen. irgendwie hackt der da immer. mein letzter versuch:
PHP-Code:
$result MYSQL_QUERY("SELECT * from kat_referenzen JOIN referenzen where kat_referenzen.id IN (".$in.") AND referenzen.id_kat_referenzen = referenzen.id AND kat_referenzen.id_language = '".$id_language."'") or die (mysql_error()); 
will auch nicht wie ich. tip?

ach ja, $in="1,3,5" sieht so aus.
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 11-09-2003, 15:13
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Und im PHP-Forum will es auch nicht...

*VERSCHIEB*
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 11-09-2003, 15:15
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

soll das join raten, womit es joinen soll?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #4 (permalink)  
Alt 11-09-2003, 15:15
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

du brauchst bei nem join auch ne angabe wie er joinen soll

probier mal
Code:
SELECT 
  k.kat, r.ueber 
FROM
  kat_referenzen k
  INNER JOIN referenzen r ON (k.id=r.kategorie_id)
WHERE
  k.id IN (1,3,5) 
  AND 
  k.id_language = 4711
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 11-09-2003, 15:20
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

sorry wegem dem falschen forum.
okay, war jetzt auch schon ein schritt weiter, probiere es gleich.
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
  #6 (permalink)  
Alt 11-09-2003, 16:04
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

supi, das war der tipp in die richtige richtung.
jetzt folgt das nächste problem, welches eigentlich nun ins php-forum gehört, aber jetzt sind wir einmal hier.
ich habe drei kategorien gezogen, zu jeder gibts es ca. 20 referenzen.
jetzt möchte ich einmal die kategorie als überschrift, dann die 20 refs. drunter, darunter die nächste kat als überschrift und darunter wieder die refs und mit der letzten kat genauso.
kann ich die gezogenen daten splitten und in zwei verschachtelten whiles verarbeiten? oder ist das unelegant?
versuche schon die ganze rum. bei ner normalen while bringt er kat als überschrift und darunter eine ref., dann wieder überschr. und ref.
begrenze ich das ganze durch nen zähler, gehts auch nicht, da es ja drei verschieden kats sind.
wie kann ich das lösen?
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
  #7 (permalink)  
Alt 11-09-2003, 16:08
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

du sortierst nach k.id (ORDER BY)

vor deiner while-schleife zum ausgeben setzt du eine hilfsvariable (z.b. $old_cat) auf -1 oder nen anderen wert, der nicht als echte kategorie vorkommt

in der whileschleife prüfst du ob $old_cat der kategorie-id des aktuellen eintrags entspricht, wenn nein, dann aktualisierst du $old_cat, gibst ne neue überschrift aus, weil du nen rubrikwechsel hast und machst dann die ausgabe weiter
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #8 (permalink)  
Alt 11-09-2003, 16:21
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

coole sache, vielen dank! will jemad die lösung sehen?
THX
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
  #9 (permalink)  
Alt 11-09-2003, 16:27
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

poste einfach mal, der vollständigkeit wegen!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #10 (permalink)  
Alt 11-09-2003, 16:38
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

ACHTUNG, ungekürzt!
PHP-Code:
function get_referenzen_all_for_one(){         //holt daten aus tabelle "more" nach der id, welche auch in der entsprechenden haupttabelle verknüpft ist  
            
Global $link_number;     // hauptnavi 1-7
        
Global $number;          // u_navi 1-4
        
Global $select;         //nimmt parameter von auf und übergibt sie nach more.php
        
Global $navi;
        
$zelle = array("2" => "zwei",
                    
"3" => "drei",
                        
"4" => "vier",
                            
"5" => "fuenf"
                        
);
        
        
$zahl $zelle[$link_number];//entscheidet bei der tabelle refernzen ob er nach der 1
                        //in link_zwei, link_drei usw. schauen soll

        //echo $zahl;
            
$id_language=get_language();

        
tab_head_list();     //geht los mit <tr>
            
echo '<tr width="479" height="50" align="left" valign="top">';
            echo 
'<td width="30" align="left" valign="top">
                <img src="images/spacer.gif width="1" height="1" border="0" />
                  </td>
                  <td width="18" align="right" valign="top">
                      <img src="images/spacer.gif" width="14" height="9" border="0" />
                  </td>
                  <td width="328" align="left" valign="top" class="normueber">'
;
            echo 
'UNSERE REFERENZLISTE';
            echo 
'</td><td width="10">&nbsp;</td><td width="93" align="right" valign="top">';
                echo 
'<a href="javascript:history.back(-1)" align="right" onfocus="this.blur()" class="more" target="_self">‹‹‹ back</a>';
            echo 
'</td></tr>';
                
/********************* hier wird über den parameter $link_number von der navi entschieden, welche
            referenzen (kategorie) benötigt werden, die von stadt, park, landschaft oder garten***************************/
            
        
switch ($link_number):
            case 
2$in "1,3,5,8";
            break;
            case 
3$in "2,4";
            break;
            case 
4$in ="6";
            break;
            default:
$in "7";
            endswitch;

            
/********************* holt hier die geforderten kategorien und ids aus kat_referenzen 
            und im gleich die refernzen entsprechend der kat id        ************************************/
                
        
$result MYSQL_QUERY("SELECT k.id,k.kat,r.ueber,r.text,r.extra from kat_referenzen k INNER JOIN referenzen r
        ON (k.id=r.id_kat_referenzen) where k.id IN ("
.$in.") AND r.link_".$zahl." = '1' AND k.id_language = '".$id_language."' ORDER BY k.id")or die (mysql_error());

        
            if (
mysql_num_rows($result)<1){echo '<div style="margin-left: 48px;" class="normfett">no data</div>';}
                        
$n=-1;
                while(
$zeile=mysql_fetch_array($result)){
             
                    foreach (
$zeile as $key => $value) {
                        $
$key nl2br(str_replace("-","&ndash;",htmlentities(stripslashes($value))));
                        
//$kat = str_replace("\n","<br><br>",$text);
                    
}

            
                    if (
$n != $id){
                        
$n=$id;
                        echo 
'<tr width="479" align="left" valign="top">';
                        echo 
'<td width="30" align="left" valign="top">
                            <img src="images/spacer.gif width="1" height="1" border="0" />
                                  </td>
                                  <td width="18" align="right" valign="top">
                                  <img src="images/spacer.gif" width="14" height="9" border="0" />
                                  </td>
                                  <td width="328" align="left" valign="top">'
;
                        echo 
"<div class=\"normueber\">".$kat."</div><br>";
                        echo 
'</td><td width="10">&nbsp;</td><td width="93" align="left" valign="top">';
                         echo 
'&nbsp';
                        echo 
'</td></tr>';
                    }
            
        
                    if (
$id !=8){ //unterscheidung zu kat 8 ist, das diese anders dargestellt wird als die anderen
                        
echo '<tr width="479" align="left" valign="top" class="normfett">';
                        echo 
'<td width="30" align="left" valign="top">
                            <img src="images/spacer.gif width="1" height="1" border="0" />
                                  </td>
                                  <td width="18" align="right" valign="top">
                                  <img src="images/spacer.gif" width="14" height="9" border="0" />
                                  </td>
                                  <td width="328" align="left" valign="top" >'
;
                                    echo 
$ueber."<br>";
                                    echo 
$text."<br><br>";
                        echo 
'</td><td width="10">&nbsp;</td><td width="93" align="left" valign="top" class="normklein">';
                         echo 
$extra."<br><br><br>";
                        echo 
'</td></tr>'
                    }else{
                        echo 
'<tr width="479" align="left" valign="top" class="normklein">';
                        echo 
'<td width="30" align="left" valign="top">
                            <img src="images/spacer.gif width="1" height="1" border="0" />
                                  </td>
                                  <td width="18" align="right" valign="top">
                                  <img src="images/spacer.gif" width="14" height="9" border="0" />
                                  </td>
                                  <td width="328" align="left" valign="top">'
;
                                    echo 
$ueber."<br>";
                                    echo 
'<div class="normfett">'.$extra.'</div>';
                                    echo 
$text."<br><br><br>";
                        echo 
'</td><td width="10">&nbsp;</td><td width="93" align="left" valign="top" class="norm">';
                         echo 
'<img src="images/spacer.gif" width="14" height="9" border="0" />';
                        echo 
'</td></tr>'
                    }
                }

 
    
        
        
                echo 
'</table>';
            
mysql_free_result($result);
    

__________________
musse rühre, musse probiere=>iss a pulsgeber !
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

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
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
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:12 Uhr.