SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 26.01.2005, 12:13:11
shinbo-san shinbo-san ist offline
Anfänger
 
Registriert seit: Aug 2004
Beiträge: 15
Fremdschlüssel?!

Wenn ich das richtig verstanden habe ist ein Fremdschlüssel Primärschlüsseln aus zwei Tabellen die man so dividiert:
PHP-Code:
'SELECT * FROM artist, album WHERE artist.ArtistID = album.AlbumID' 
...hoffe ich zumindest. ...habe mich gerade ein bissel eingelesen. Ich benutze aber MYSQL und da ist es, wen ich es richtig verstanden habe, noch nicht implementiert.

Habe ein Phänomen entdecken können. Das erste Dropdown wird gar nicht berücksichtigt. Ich habe mal per hand die URL Einträge geändert und dabei Album komplett raus genommen. Dann bekomme ich was ausgegeben. Drehe ich die Reinfolge der dropdown um ist es genau der umgekehrte fall.
Mit Zitat antworten
  #12  
Alt 26.01.2005, 12:24:50
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
Original geschrieben von shinbo-san
Habe ein Phänomen entdecken können. Das erste Dropdown wird gar nicht berücksichtigt. Ich habe mal per hand die URL Einträge geändert und dabei Album komplett raus genommen. Dann bekomme ich was ausgegeben. Drehe ich die Reinfolge der dropdown um ist es genau der umgekehrte fall.
Das 'Phänomen' beruht sicher darauf, dass Du meinen Part mit unterschiedlichen Namen für die <select>-Felder ignoriert hast, oder?

Fremdschlüssel gibt es durchaus bei MySQL, aber nicht beim Standardtabellentyp MyISAM, sondern (nur?) bei ... keine Ahnung. Bei anderen Typen geht das.

Man kann das aber auch ganz einfach selber machen:
Code:
tab1
id  name
1   asd
2   qwe

tab2
id  pid name
1   1   rtz
2   1   fgh
pid in tab2 ist ein Wert von id aus tab1. Prüfungen beim Löschen oder Ändern von Datensätzen müssen hierbei natürlich von Hand gemacht werden, da unterstützt Dich das DBMS nicht.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #13  
Alt 26.01.2005, 13:11:42
shinbo-san shinbo-san ist offline
Anfänger
 
Registriert seit: Aug 2004
Beiträge: 15
Es Klappt! Es funktionier! Es war ein kleiner Fehler drinnen, deswegen hat er es ignoriert.

Der Fehler lag in:
PHP-Code:
$temp[]="album.AlbumName LIKE '%$style%'"
Es git keine Spalte namens “ArtistStyle” in der Tabelle „album“ sondern nur bei der Tabelle „artist“

Danke für Deine Hilfe, mühe und Geduld. Ich hätte es ohne Hilfe nie hinbekommen. Danke.


Hier der Funktionierende Skript:

PHP-Code:
<?php
//Meldungen von PHP anzeigen
error_reporting(E_ALL);
require_once(
'Connections/RecordstorePHP.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>

<body>

<?php


// DB waehlen
mysql_select_db($database_RecordstorePHP$RecordstorePHP);

// Query anfangen
$query_Search 'SELECT * FROM album, artist WHERE ';

// Wenn style gewaehlt, dann in Array $temp packen
$style "1";
if (isset(
$HTTP_GET_VARS['style'])) {
    
$style = (get_magic_quotes_gpc()) ? 
    
$HTTP_GET_VARS['style']
     : 
addslashes($HTTP_GET_VARS['style']);
    
$temp[]="artist.ArtistStyle  LIKE '%$style%'";
}
// Wenn albumname gewaehlt, dann in Array $temp packen
$albumname "1";
if (isset(
$HTTP_GET_VARS['albumname'])) {
    
$albumname = (get_magic_quotes_gpc()) ?
    
$HTTP_GET_VARS['albumname']
    : 
addslashes($HTTP_GET_VARS['albumname']);
    
$temp[]="album.AlbumName LIKE '%$albumname%' AND album.AlbumID = artist.ArtistID";
}


// Wenn was im Array ist, dann...
/*
if (isset($temp)) {
    // Array zusammenfuegen und ' AND ' dazwischenpacken
    $Search = mysql_query($query_Search.join(' AND ', $temp), $RecordstorePHP) or die(mysql_error());
    $row_Search = mysql_fetch_assoc($Search);
    $totalRows_Search = mysql_num_rows($Search); 
    }
    */
?>

<form action="test7.php?search=true" method="get" name="form1" id="form1">
  <select name="style">
    <option value="" selected>Style</option>
<?php
// Alle Styles auslesen und ausgeben
$Search mysql_query('SELECT ArtistStyle FROM artist WHERE artist.ArtistID GROUP BY ArtistStyle ASC'$RecordstorePHP) or die(mysql_error());
while (
$row_Search mysql_fetch_assoc($Search)) {
   echo 
"<option value='{$row_Search['ArtistStyle']}'>{$row_Search['ArtistStyle']}</option>n";
}

?>
  </select>

  <select name="albumname">
    <option value="">Album Name</option>
<?php
// Alle Albennamen auslesen und ausgeben
$Search mysql_query('SELECT AlbumName FROM album WHERE album.AlbumID GROUP BY AlbumName ASC'$RecordstorePHP) or die(mysql_error());
while (
$row_Search mysql_fetch_assoc($Search)) {
    echo 
"<option value='{$row_Search['AlbumName']}'>{$row_Search['AlbumName']}</option>n";
}
?>
  </select>
  <input type="submit" name="Submit" value="Search">
</form>


<?php if (isset($temp)) { 

$Search mysql_query($query_Search.join(' AND '$temp), $RecordstorePHP) or die(mysql_error());
    
$row_Search mysql_fetch_assoc($Search);
    
$totalRows_Search mysql_num_rows($Search); 



?>
            <?php if ($totalRows_Search == 0) { ?>
            No albums match your search. Try looking for something else. 
        <?php } else { ?>
            <table width="100%" border="0" cellpadding="2">
                <tr> 
                  <td>&nbsp;</td>
                  <td><strong>Album</strong></td>
                  <td><strong>Artist</strong></td>
                  <td><strong>Style</strong></td>
                </tr>
                <?php do { ?>
                  <tr> 
                  <td><img src="<?php echo $row_Search['AlbumCoverThumbnailURL']; ?>"></td>
                  <td><a href="albumdetail.php?AlbumID=<?php echo $row_Search['AlbumID']; ?>">
                  <?php echo $row_Search['AlbumName']; ?></a></td>
                  <td><?php echo $row_Search['ArtistGroupName']; ?></td>
                  <td><?php echo $row_Search['ArtistStyle']; ?></td>
                </tr>
                <?php } while ($row_Search mysql_fetch_assoc($Search)); ?>
            </table>
            <?php ?>
<?php 


echo 
"<br><br>";
echo 
$query_Search.join(' AND '$temp);
?>    

</body>
</html>
Mit Zitat antworten
  #14  
Alt 26.01.2005, 13:12:49
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Stolz bin! :)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:45:25 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt