Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
hmm *knotenimkopf* [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
hmm *knotenimkopf*


 
space4092
08-03-2004, 04:44 
 
habe ne kleine frage und vieleicht weiss ja jemand was.

ich möchte ne kleine datenbank machen wo man fotos hochladen kann usw, ist ja auch kein problem, bis jetzt hat alles geklappt was ich machen wollte, jedoch wenn ich die fotos anzeigen lasse durch :

$events = mysql_query( "SELECT * FROM foto WHERE event='".$aevent."' ");

while ($eventz = mysql_fetch_array($events)) {

$event = $eventz["event"];
$jahr = $eventz["jahr"];
$picurl = $eventz["fotourl"];

include("templates/anzeigen-foto.php");


und dann anzeigen lasse :



<table width="100%" border="0" cellspacing="1" cellpadding="0">
<td width="10%">
<a href="<? echo $picurl; ?>" target="blank"><img src="<? echo $picurl; ?>" width="50" height="70"></a>
</td>
</table>



werden die bilder ja nur untereinander angezeigt, wäre bei ca 30 fotos etwas unübersichtlich, aber so möchte ich das auch nicht, wie bekommt man das hin das durch die abfrage die fotos sowohl nebeneinander als auch untereinander angezeigt werden sagen wir 6 fotos in jeder reihe und 5 reihen. wäre um hilfe dankbar, habe schon im forum danach gesucht, jedoch nichts gefunden. mir fällt einfach nichts ein wie ich das machen könnte, wenn man die daten erst alle abrufen könnte und dann anzeigen wäre das kein prob aber wenn das geht wie ? wäre um hilfe dankbar.
danke im vorraus.
mfg

 
kill_bill
08-03-2004, 09:32 
 
generell macht man sowas mit <tr> und </tr> (sollte bestandteil einer jeden tabelle sein).
mit einem zähler kannst du dann bestimmen, wann diese tags ausgegeben werden sollen ...;)

 
schmalle
08-03-2004, 09:48 
 
ich würde dir mal sehr dringend einen html kurs empfehlen :) hier ist der anfang: www.teamone.de/selfhtml <-- einfach mal lesen

 
MaxP0W3R
08-03-2004, 10:02 
 
Original geschrieben von kill_bill
generell macht man sowas mit <tr> und </tr> (sollte bestandteil einer jeden tabelle sein).


LOL

Zur ihrer eigenen Sicherheit und vor allem die euer Mitsurfer empfehlen wir dringendst das benutzen der <tr > tags

 
space4092
08-03-2004, 16:58 
 
da möchte wohl jemand schlau sein, oder versteht das problem einfach nicht, denn wenn ich die datei in die schleife einfüge gehen die fotos entweder nach rechts oder nach links, ich brauche aber 6 in einer reihe und 6 reihen.

 
TobiaZ
08-03-2004, 17:03 
 
uhu, welch böse worte!

ist dann aber denke ich wirklich ein HTML-Problem, oder?
Poste mal den HTML-Code.

Wenns doch ein PHP-Problem ist, dann bitte HTML-Code wie er ist und wie er soll.

 
marc75
08-03-2004, 17:04 
 
//eine Standarttabelle sieht so ungefähr aus:

<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td></td>
</tr>
</table>

//6x rechts 6x nach unten
<table border="2" cellspacing="2" cellpadding="1">
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>


So jetzt mach dir mal gedanken wie du dein Script dazu bekommst solche Tabellen aufzubauen.

Tip:
if(anzahl == 6)
{
</tr>
<tr valign="top">
//anzahl = reset;
}

 
space4092
08-03-2004, 17:13 
 
hier der code, aber es geht nunmal nur entweder oder ? untereinander oder nebeneinander.....





<td width=3%>

<tr>
<td>
<a href="<? echo $picurl; ?>" target="blank"><img src="<? echo $picurl; ?>" width="50" height="70"></a>
</td>

</tr>

</td>



mfg

 
space4092
08-03-2004, 17:16 
 
oder nach 6 einfach ein <br> und fertig, aber was soll ich da zählen lassen und wie ?

 
TobiaZ
08-03-2004, 17:18 
 
hatte ich nicht irgendwas von HTML-Code gesagt? das sieht mir eher wie PHP und nem echo mit HTML drin aus. :(

ob du ein br machst, oder ein zeile zu, zeile auf. ist das so ein großer unterschied?

 
marc75
08-03-2004, 17:24 
 
//nur zur Info
<td width=3%>
//<td width...> erwartet hier ein </td> und kein <tr>
<tr>
<td>
<a href="<? echo $picurl; ?>" target="blank"><img src="<? echo $picurl; ?>" width="50" height="70"></a>
</td>

</tr>

</td>




Startwert halt $count = "0";
zählen in der Schleife
z.B.
$count++;

 
space4092
08-03-2004, 18:05 
 
hmm danke für den anstoß mit dem counten, habe einfach noch ne schleife eingefügt die bis 6 zählt.





$i = $i+1;
if ($i == 6) {

include("templates/anzeigen-foto2.php");
$i = "0";
}
else

{
include("templates/anzeigen-foto.php");

}



und foto2 ist eine mit nem <br> drin :)
danke leute....

mfg

 
TobiaZ
08-03-2004, 18:06 
 
btw: seltsames templatesystem hast du ;)

 
space4092
08-03-2004, 18:09 
 
warum ? hauptsache funzt..
bin halt ein kleiner blutiger anfänger...
müsstest mal mein login sehen :p
*fg*

 
kill_bill
08-03-2004, 18:12 
 
aber den tipp von marc75 (das mit diesen komischen <tr>´s) hast du dir zu herzen genommen, oder ???;)

 
space4092
08-03-2004, 18:19 
 
nö ich fands einfacher einfach noch nen <br> in das 2te template reinzuschreiben :)
warum welchen unterschied macht das ?

 
schmalle
08-03-2004, 18:21 
 
Original geschrieben von space4092
warum welchen unterschied macht das ? ist diese frage ernst gemeint?

 
kill_bill
08-03-2004, 18:23 
 
Original geschrieben von space4092
nö ich fands einfacher einfach noch nen <br> in das 2te template reinzuschreiben :)
warum welchen unterschied macht das ?
:confused:
dann zeig uns doch mal, was das ergebnis deines scriptes ist (also die html - ausgabe als quelltext), denn ich vermute mal ganz stark, dass du einen fehlerhaften tabellenaufbau hast.

 
schmalle
08-03-2004, 18:27 
 
Original geschrieben von kill_bill
einen fehlerhaften tabellenaufbau hast. das halte ich für eine starke untertreibung :D

 
space4092
08-03-2004, 18:42 
 
hier :p




<td width=3%>
<tr>
<td>
<a href="fotos/test/karate1.jpg" target="blank"><img src="fotos/test/karate1.jpg" width="50" height="70"></a>
</td>
</tr>
</td>

<td width=3%>
<tr>
<td>
<a href="fotos/test/karate2.jpg" target="blank"><img src="fotos/test/karate2.jpg" width="50" height="70"></a>
</td>

</tr>

</td>






<td width=3%>

<tr>
<td>
<a href="fotos/test/karate4.jpg" target="blank"><img src="fotos/test/karate4.jpg" width="50" height="70"></a>
</td>

</tr>

</td>






<td width=3%>

<tr>
<td>
<a href="fotos/test/karate3.jpg" target="blank"><img src="fotos/test/karate3.jpg" width="50" height="70"></a>
</td>

</tr>

</td>






<td width=3%>
<tr>
<td>
<a href="fotos/test/karate5.jpg" target="blank"><img src="fotos/test/karate5.jpg" width="50" height="70"></a>
</td>
</tr>
</td>

<td width=3%>
<tr>
<td>
<a href="fotos/test/karate6.jpg" target="blank"><img src="fotos/test/karate6.jpg" width="50" height="70"></a>
</td>
</tr>
</td>
<br>

<td width=3%>
<tr>
<td>
<a href="fotos/test/karate7.jpg" target="blank"><img src="fotos/test/karate7.jpg" width="50" height="70"></a>
</td>
</tr>
</td>



witz ?

 
Damian1984
08-03-2004, 18:47 
 
aua
so werden Tabelen aufgebaut:
<table> Tabelle öffnen
<tr> Neue Zeile
<td> neue Spalte
</td> Spalte schliessen
</tr> Zeile schliessen
</table> tabelle schliessen

 
kill_bill
08-03-2004, 18:48 
 
Dann versuche doch mal, deinen Quellcode so umzubauen, dass diese Regeln befolgt werden:



//eine Standarttabelle sieht so ungefähr aus:

<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td></td>
</tr>
</table>

//6x rechts 6x nach unten
<table border="2" cellspacing="2" cellpadding="1">
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>

 
space4092
08-03-2004, 20:17 
 
habbich gemacht, habe aber noch anderes problem,
wenn ich jetzt die jahre abrufen möchte, zeigt er mir ja für jeden eintrag das jahr an, ich möchte aber jedes jahr nur einmal da stehen haben, wie gehtn das ?

ich habe das mal probiert mit 2 abfrageschleifen, aber wenn die eine abgerufen wurde und die nächste gestartet ist das ergebnis ja weg, hatte das ungefähr so



if($jahr != $old_jahr) {

include("test.php");
}



jedoch wie gesagt so ging das nicht, wäre um hilfe dankbar.
mfg

 
TobiaZ
08-03-2004, 20:23 
 
habbich gemacht, habe aber noch anderes problem, wers glaubt :D

Dein neues Problem verstehe ich net so ganz.

 
space4092
08-03-2004, 20:29 
 
also hier mal die dateien,


<?

$do = $_GET['do'];
$do = "go";

if ($do != "") {

$events = mysql_query( "SELECT * FROM foto");

while ($eventz = mysql_fetch_array($events)) {

$old_event = $eventz["event"];
$old_jahr = $eventz["jahr"];
$old_picurl = $eventz["fotourl"];
$old_id = $eventz["id"];

include("templates/anzeigen-jahr.php");
}
}
?>


anzeigen-jahr ist dann

<tr width=3%>
<td>
<a href="index.php?jahr=<? echo $old_jahr ?>"><? echo $old_jahr; ?><br></a>
</td>
</tr>



jetzt bekomme ich wenn ich sagen wir für jahr 2004 10 fotos habe, 10 mal den das jahr nochmals verlinkt, ich möchte den aber nur einmal das jahr da stehen haben....
mfg

 
TobiaZ
08-03-2004, 20:35 
 
schreib doch einfach jedes mal, wenn du ein jahr ausgegeben hast, das jahr in ein array und vor der nächsten ausgabe prüfst du, ob das jahr schon im array ist. wenn ja dann nichts, wenn nein dann von vorne.

Dein Templatesystem hat den Sinn von Templates gänzlich verfehlt :)

 
space4092
08-03-2004, 20:37 
 
wie mache ich das mit "das jahr in ein array scheiben" ?
damit habe ich glaube ich noch nicht gearbeitet ....
danke schonma

 
TobiaZ
08-03-2004, 20:39 
 
dann solltest du dir mal ein paar grundlagen ansehen...

 
space4092
08-03-2004, 21:15 
 
irgendwie klappt das mit dem array net ....
siehe :



if ($do != "") {

$events = mysql_query( "SELECT * FROM foto");

while ($eventz = mysql_fetch_array($events)) {

$old_event = $eventz["event"];
$array1[] = $eventz["jahr"];
$old_picurl = $eventz["fotourl"];
$old_id = $eventz["id"];
}

if($array1[0] == $array1[1]) {

array_pop($array1[]);
}
else {

include("templates/anzeigen-jahr.php");
}
}


help, büdde

mfg

 
TobiaZ
08-03-2004, 21:16 
 
kannst du mir das was du da machst mal in pseudocode übersetzen? also mal ausformulieren, warum du welche variable wo zuweist.

 
space4092
08-03-2004, 21:22 
 
if ($do != "") {

$events = mysql_query( "SELECT * FROM foto");

while ($eventz = mysql_fetch_array($events)) {

$old_event = $eventz["event"];
$array1[] = $eventz["jahr"]; // Damit das jahr bei der 2ten abfrage gespeichert bleibt komt es in ein array.
$old_picurl = $eventz["fotourl"];
$old_id = $eventz["id"];
}

if($array1[0] == $array1[1]) { // das wenn bei der abfrage nicht jedes jahr 10 mal angezeigt wird sondern wenn es doppelt ist das array geleert wird und die schleife fortgesetzt....

array_pop($array1[]);
}
else {

include("templates/anzeigen-jahr.php");
}
}

 
TobiaZ
08-03-2004, 21:27 
 
das array geleert wird

warum willst du das array leeren. hätte zur folge, dass beim 1. mal 2004 das datum angezeigt wir, beim zweiten mal nicht, dafür beim dritten mal wieder, weils ja geleert wurde das array.

die allergrößte frage ist allerdings warum

$array1[0] == $array1[1]

du vergleichst den 0. index mit dem 1. warum??? bringt das irgendwas? vorallem ist das 1. doch gar nicht immer gesetzt?

ich gib dir mal nochmal nen tipp: in_array()

Und jetzt versuch halt nochmal das was ich eben geschrieben habe 1:1 zu übersetzen.

 
space4092
08-03-2004, 21:50 
 
verstehe da was mit der array funktion nicht so ganz bin schon die ganze zeit die tut´s am durchsuchen hilft aber auch nicht viel weiter,
wenn ich das so mache :



$events = mysql_query( "SELECT * FROM foto");

while ($eventz = mysql_fetch_array($events)) {

$old_event = $eventz["event"];
$oldjahr[] = $eventz["jahr"];
$old_picurl = $eventz["fotourl"];
$old_id = $eventz["id"];
}




dann wird ja die daten in $oldjahr[1], $oldjahr[2], 3 usw. geschrieben, wie
aber soll ich dann mit der in_array alle durchsuchen ?
möglichkeit wäre so :



if(in_array(2004,$oldjahr[1] {
echo "gefunden";
}
else {echo "nicht gefunden"; }



jedoch wäre das ja nur möglich wenn in der ersten abfrage das jahr 2004
in das array eingetragen worden wurde, was jedoch wenn man fotos über
50 jahre eintragen möchte ? dann müsste man doch das von $oldjahr[1]
bis $oldjahr[50] machen jedoch nur wenn jedes jahr ein foto hätte.... was
ist wenn jedes jahr mehrere 1000 fotos haben ?
oder habe ich was falsch verstanden ?
mfg

 
TobiaZ
08-03-2004, 21:53 
 
die überprüfung war ja schon richtig. Bis auf die fehlende Klammer.

du willst also jedesmal das datum in das array speichern? Warum? brauchst doch nur speichern, wenns noch nicht drin ist.

 
space4092
09-03-2004, 01:46 
 
ja aber wie soll mir das denn in meinem fall weiterhelfen ?



$events = mysql_query( "SELECT * FROM foto");

while ($eventz = mysql_fetch_array($events)) {

$old_event = $eventz["event"];
$jahr = $eventz["jahr"];
$old_picurl = $eventz["fotourl"];
$old_id = $eventz["id"];
}
If(!isset($oldjahr[1])){

$oldjahr[1] = $jahr;
}
elseif(in_array($jahr,$oldjahr[1])) {
}


wie soll das gehen das er die arrays fortführt und dann die jahre ausließt ohne das diese doppelt sind ?
mfg

 
socket_shock
09-03-2004, 03:55 
 
Hi,

waaaarum muss man newbies immer so zur Lösung führen?

Bei den meißten die in dieses Thread gepostet haben wei ich ja
das sie eine richtige Lösung des Problems kennen, aber bei dem ein oder anderen der sich hier mit-kustig macht bin ich mir da nicht so sicher

*böseguck*


Aber mal im Ernst.. *g*

Problem 1

echo('<table blah sülz border null und so><tr>');
$spaltenzähler = 0;
for($i=1;$i <= $anzahl_bilder;$i++)
{
if($spaltenzähler == 6)
{
echo('</tr><tr>');
$spaltenzähler = 0;
}
echo('<td>mein Kram</td>');
$spaltenzähler ++;
}
echo('</tr></table>');


sollte so funzen.....

Problem 2


if(!in_array($diesesjahr,$allejahre))
{
$allejahre[] = $diesesjahr;
}
echo('Hier ist jetzt jedes Jahr nur einmal drinn:<br><pre>'.print_r($allejahre,true).'</pre>');


sollte auch zu machen sein.....

[ Frage nicht was der newbie für Dich tun kann, sondern was Du für den newbie tun kannst ] ;-)

 
TobiaZ
09-03-2004, 18:50 
 
Bei den meißten die in dieses Thread gepostet haben wei ich ja das sie eine richtige Lösung des Problems kennen, aber bei dem ein oder anderen der sich hier mit-kustig macht bin ich mir da nicht so sicher sehe ich ähnlich.

waaaarum muss man newbies immer so zur Lösung führen?du meinst die "ich zeig dir den Weg, aber nicht das Ziel"-Methode?
Dazu suche ich dir gerne nen aktuellen Thread.


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:11 Uhr.