Frage zu Variablenproblem
Einklappen
X
-
du kannst keine fragen mittels sql beantworten.
du kannst datensätze anhand diverser merkmale selektieren.
momentan selektierst du alle datensätze, die in dem feld "imgtext" etwas von einem leerzeichen verschiedenes enthalten.
leer ist das feld, wenn darin "" steht.
kontrolliere die syntax von SELECT.
Einen Kommentar schreiben:
-
Hallo wie kann ich das machen bei einer SQL abfrage ob eine Zelle eine Tabelle (ein Feld) leer ist oder nicht
hab das so versucht:
PHP-Code:mysql_select_db("joomlashake") OR die(mysql_error());
$sql2 = "SELEC imgtext FROM jos_ponygallery WHERE imgtext <> ' ';";
$res2 = mysql_query($sql2) OR die(mysql_error());
$row2 = mysql_fetch_assoc($res2);
echo $row2['imgtext'];
MFG
druckgott
Einen Kommentar schreiben:
-
schau mal ins manual: http://de3.php.net/manual/en/language.types.array.php
PHP-Code:$arr = array(1,2,3,4,5,6,7,9);
Einen Kommentar schreiben:
-
Ich hätte mal noch eine weitere Frage!
Das script sieht mitlerweile so aus:
PHP-Code:<?php
//Angaben des Pfades und Bildes
$pfad = "./components/com_ponygallery/img_pictures/";
$bild = "voksfestfliegen20061908_loisl_sepp*.jpg";
$pic[] = 3;
$pic[] = 7;
$pic[] = 9;
$pic[] = 15;
$pic[] = 18;
//Ab hier nicht mehr ändern
include "connect.php";
$i = 0;
foreach(glob("$pfad$bild") as $key => $file){
for($n=0;$n<=$key;$n++){
// hier liest er welche Bilder angezeigt werden
if ($key+1 == $pic[$n])
{
// pfad ersetzen durch nichts
$filename = str_replace($pfad, '', $file);
// Arraynr +1 für Bildnummern
//hier $key damit die nr. des Bildes angezeigt wird
$bildnr = $n+1;
//Datenbankabfrage der Beschreibung Start
mysql_select_db("joomlashake") OR die(mysql_error());
$sql = "SELECT imgfilename, imgtext FROM jos_ponygallery WHERE imgfilename ='$filename';";
$res = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($res);
//Datenbankabfrage der Beschreibung Ende
if ($i % 2 == 0)
{
echo "<table width='100%' border='0'>";
echo "
<tr>
<td><img src='$file' border='0'></td>
<td width='100'>Bild Nr. $bildnr</td>
<td><div align='center'>".$row['imgtext']."</div></td>
</tr>";
echo "</table>";
$i=$i+1;
}
else
{
echo "<table width='100%' border='0'>";
echo "
<tr>
<td><div align='center'>".$row['imgtext']."</div></td>
<td width='100'>Bild Nr. $bildnr</td>
<td><div align='right'><img src='$file' border='0'></div></td>
</tr>";
echo "</table>";
$i=$i-1;
}
}}}
mysql_close($db);
?>
$pic[] = 3;
$pic[] = 7;
$pic[] = 9;
$pic[] = 15;
$pic[] = 18;
oben die Bilder an die angezeigt werden sollen
allerdings hätte ich es gerne so, das ich eine Variable habe die z.B.
$hans = 3,7,9,15,18 habe und er die auf die arrays verteilt.
Wie kann ich das verwirklichen?
Übringends danke für den tip mit den 2 tut seiten jetzt check ich das auch mal selber annähern
Einen Kommentar schreiben:
-
ah, ok.. dann lasse dir zeit und beginne erst mal mit ausführlichen anleitungen wie tut.php-q.net bzw. faq-php.de
Einen Kommentar schreiben:
-
ja ich ändere nichts an einem CMS ich will nur etwas aus dem CMS auslesen und mir dann eine Seite erstellen lassen
an dem CMS selbst herumschrauben traue ich mich nicht
und wo sind den die Forumregeln mit den Tricks?
Einen Kommentar schreiben:
-
zwar liegt der fehler im falschen umgang mit strings in sql, aber das kannst du auch selbst herausfinden, wenn du (1) die dokumentation zu mysql bzw. (2) die forumregeln mit einigen tricks durchliest.
kann dir nur empfehlen klein anzufangen. so ganz ohne vorkenntnisse an einem fertigen (wenn auch grottigen) cms herumzuschrauben kann _sehr_ schwer werden.
Einen Kommentar schreiben:
-
Jetzt hab ich ein Problem:
Code:CREATE TABLE `jos_ponygallery` ( `id` int(11) NOT NULL auto_increment, `catid` int(11) NOT NULL default '0', `imgtitle` text NOT NULL, `imgauthor` varchar(50) default NULL, `imgtext` text NOT NULL, `imgdate` varchar(20) default NULL, `imgcounter` int(11) NOT NULL default '0', `imgvotes` int(11) NOT NULL default '0', `imgvotesum` int(11) NOT NULL default '0', `published` tinyint(1) NOT NULL default '0', `imgfilename` varchar(100) NOT NULL default '', `imgthumbname` varchar(100) NOT NULL default '', `checked_out` int(11) NOT NULL default '0', `owner` varchar(50) NOT NULL default '', `approved` int(1) NOT NULL default '0', `useruploaded` int(1) NOT NULL default '0', `ordering` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=192 ; INSERT INTO `jos_ponygallery` VALUES (97, 3, 'Voksfestfliegen20061908_Loisl_Sepp002', '', '', '1164540776', 2, 0, 0, 1, 'voksfestfliegen20061908_loisl_sepp002_2_20061126_1060551209.jpg', 'voksfestfliegen20061908_loisl_sepp002_2_20061126_1060551209.jpg', 0, 'Michi', 1, 0, 0);
Allerdings bringt er mir jetzt einen Fehler wenn ich das so schreibe:
PHP-Code:$bild = mysql_db_query("joomlashake", "select * from jos_ponygallery where imgfilename = $file");
$ausgabe = mysql_result($bild, "imgtext");
echo "$ausgabe" ;
Er soll mir jetzt in der Datenbank joomlashake die Tabelle jos_ponygallery auswählen, wo imgfilename = $file ist.
Und dann soll er mir in $ausgabe den imgtext speichern. Ich bekomme aber diesen Fehler:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/shake-cocktails.de/httpdocs/components/com_ponygallery/img_pictures/test.php on line 15
an was liegt das jetzt?Zuletzt geändert von druckgott; 02.12.2006, 12:42.
Einen Kommentar schreiben:
-
genau - der modulo operator gibt den rest bei der teilung zurück.
natürlich kannst du deine sql anfrage nach belieben erweitern. wie - kann ich nicht wissen, weil ich nicht weiß, wie deine datenbank aussieht und was du genau unter "Catrgorie" verstehst.
gib dir mühe, drück dich verständlich aus.
Einen Kommentar schreiben:
-
jo hab ich auch gerade gemerkt er dividiert $i durch 2 und vergleicht den rest dann ob es gleich 0 ist
also z.B. 5 %2 ist ja dann 2 rest 1 und dann vergleicht er 1 mit 0 in dem fall falsch
jetzt hätte ich noch eine frage ich kann ja eine Datenbankabfragen machen
select * from jos_ponygallery
where imgtitle = $file;
da sucht er ja jetzt in der Taballe jos_ponygallery wo der imgtitle = der Filename ist.
Jetzt würde ich gerne wissen, wie ich das machen, das er wenn das zutrifft in dieser Tabelle eine andere Catrgorie ausliest und anzeigt?
kann ich das so machen?
das müsste doch so gehen
PHP-Code:$bild = mysql_db_query( "select * from jos_ponygallery where imgtitle = $file");
$ausgabe = mysql_result($bild, "imgtext");
echo "$ausgabe" ;
Zuletzt geändert von druckgott; 02.12.2006, 12:22.
Einen Kommentar schreiben:
-
nein, das ist leider falsch, schaue noch mal ins manual, dort steht genau erklärt, was der operator bewirkt.
z.b. ist 4%2 == 0, aber 4 durch 2 ist niemals null..
Einen Kommentar schreiben:
Einen Kommentar schreiben: