Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Webprogrammierung
  PHP; Anzahl in einem Array

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  PHP; Anzahl in einem Array (968 mal gelesen)
Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

SolidWorks 2006 SP5
Intel Core 2CPU (2.4 GHz)
2 GB RAM
Nvidia FX 560
Windows XP SP2
Novell als Netzwerk

erstellt am: 04. Feb. 2008 07:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Wollte folgende Funktion verwenden, und bin ein wenig auf die Schnau... gefolgen.

In einem Array belege ich z.B. die Positionen 0,1,2 und 7.

Lase ich nun mit count() die Array Variable auswerten bekomme ich eine 4. Ok, anschaulich
ist dies auch klar. Was ich aber bräuchte, ist der Wert 7, damit ich mit einer for Schlaufe
alle Werte des Array in ein File schreiben kann.

Auch der Befehl sizeof () bringt mit eine 4, und nicht die gewünschte 7.

Kennt jemand einen entsprechenden Befehl für php?

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



Sehen Sie sich das Profil von tunnelbauer an!   Senden Sie eine Private Message an tunnelbauer  Schreiben Sie einen Gästebucheintrag für tunnelbauer

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 04. Feb. 2008 09:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Oberli Mike 10 Unities + Antwort hilfreich

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

SolidWorks 2006 SP5
Intel Core 2CPU (2.4 GHz)
2 GB RAM
Nvidia FX 560
Windows XP SP2
Novell als Netzwerk

erstellt am: 04. Feb. 2008 10:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich muss glaub ich etwas weiter ausholen.

Für meine Bildergalerie hinterlege ich pro Event ein File, wo die Beschreibungen für die
Bilder hinterlegt sind. Für jedes Bild ein Zeile (1. Bild --> 1. Zeile etc.).

Lokal an meinem PC zu Hause sind die Files nicht schreibgeschützt, also kann ich sie
per PHP ändern (im Web sind sie nur zum lesen und Ausführen freigegeben).

Nun habe ich folgendes in php realisiert.

- Laden der entsprechenden Seite wo das Einzelbild zu sehen ist
- Im Formularfeld wird der Eintrag für die Beschreibung eingetragen
- Mit dem Button wird per Post-Methode der Inhalt des Formfeldes in eine Variable
  gespeichert.
- Einlesen des bestehendes File, jede Zeile wird in einen Array gespeichert (Zeile ist
  Arrayposition um 1 versetzt, da der Array bei 0 anfängt)
  Wenn das File noch nicht vorhanden ist wird es erzeugt
- Über eine Variabel aus der URL (diese Variabel bestimmt welches Bild angezeigt wird,
  wird die richtige Position des Arrays überschriebten bez. neu erzeugt.
- Löschen des Files und neu erzeugen des Files --> File ist leer
- Ausschreiben des Array in das neue leer File

Nun kann es sein, dass beim Auslesen des Files die Positionen 0,1,2,3 vom Array belegt
werden und über die Postmethode die Position 7 neu eingespeichert wird.

Beim Ausschreiben müssen nun alle Positionen, 0-7 ausgegeben werden, da bei der Abfrage
vom Bildbeschreibungstext direkt die Zeilennummer ausgelesen wird.

Hatte gerade ein Gespräch mit einem Geschäftskollegen. Ev. kann ich mit einem Vergleich
arbeiten. Nach dem Einlesen des Files kann ich über count die Anzahl Einträge abfragen, es
dürfen keine Lücken im Array vorhanden sein. Über die Variable welche ich zum Einspeichern
der neuen Bildbeschreibung in der richtigen Position des Array verwende habe ich diese
Position. Der grössere Wert kann ich für die For Schlaufe zum Ausschreiben des Array
verwenden.

Muss ich heute Abend mal probieren.

Gruss
Mike

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

SolidWorks 2006 SP5
Intel Core 2CPU (2.4 GHz)
2 GB RAM
Nvidia FX 560
Windows XP SP2
Novell als Netzwerk

erstellt am: 04. Feb. 2008 20:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Es tut, wenn auch etwas umständlich.

Die Lücke, welche zwischen dem letzten Eintrag im File ist, und dem neu einzuspeichernden
Eintrag muss ich über eine For Schlaufe mit Pseudoeinträgen füllen.

Hmmm, der Syntax von php ist teilweise doch etwas verwirrend.

Mit  \n bekomme ich einen Zeilenumbruch im durch php erzeugten Quelltext
Wenn ich das gleich in der Ausgabe in eine File möchte, muss ich \r\n anwenden.
Mit nur \n oder nur \r ist zwar für das spätere Auslesen des Files ein Zeilenumbruch
vorhanden. Wenn ich aber das File im notepad öffne ist nur ein "hässliches" Viereck
anstelle des Zeilenumbruchs.

Hauptsache jetzt funktioniert alles, und ich kann meine nächste Idee in Angriff nehmen 

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied



Sehen Sie sich das Profil von  an!

Beiträge: 4755
Registriert: 27.09.2000

Dell precision M4300, 4GB Arbeitsspeicher
NVidia FX360M
Windows XP professional SP3
CATIA V5 R16SP9, R17SP8, R18SP8, R19SP6
Adobe Acrobat 8
Linux: Ubuntu 8.04LTS

erstellt am: 05. Feb. 2008 05:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Oberli Mike 10 Unities + Antwort hilfreich

Hallo Oberli,

wäre es nicht einfacher, die fehlenden Elemente in deinem Array einfach mit Nullen aufzufüllen? Bläst zwar das Arry etwas auf, dürfte aber eine einfacherer Abfrage bringen.

Viele Grüße,

CEROG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

SolidWorks 2006 SP5
Intel Core 2CPU (2.4 GHz)
2 GB RAM
Nvidia FX 560
Windows XP SP2
Novell als Netzwerk

erstellt am: 05. Feb. 2008 07:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Oberli Mike:
Die Lücke, welche zwischen dem letzten Eintrag im File ist, und dem neu einzuspeichernden
Eintrag muss ich über eine For Schlaufe mit Pseudoeinträgen füllen.

Zitat:
Original erstellt von CEROG:
wäre es nicht einfacher, die fehlenden Elemente in deinem Array einfach mit Nullen aufzufüllen? Bläst zwar das Arry etwas auf, dürfte aber eine einfacherer Abfrage bringen.

Anstelle der Nullen hab ich den Laufindex + 1 verwendet, so dass die Zeilennummer
eingetragen wird. Ich als Mensch kann mich so besser orientieren wo ich bin, wenn ich
das txt-File mal öffne.

BTW: Hab gestern noch was an der HP rumgeschraubt. Sollte jetzt auch in anderen Browsern
      vernünftig ausschauen. Werde es heute beim Kollegen in der IT, der hat einen Mozilla
      Firefox installiert, optisch prüfen.

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

G. Dawg
Ehrenmitglied V.I.P. h.c.
FEM Simulant / Konstrukteur / SolidWorks



Sehen Sie sich das Profil von G. Dawg an!   Senden Sie eine Private Message an GDawg  Schreiben Sie einen Gästebucheintrag für GDawg

Beiträge: 2622
Registriert: 12.07.2004

erstellt am: 12. Feb. 2008 15:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Oberli Mike 10 Unities + Antwort hilfreich

Mike, bin mir zwar nicht sicher ob ich das richtig verstanden habe...

<?php
function get_last($array){
  $c = count($array)-1; // wieso -1? weil auch hier started das ganze bei 0.
  $num = $array[$c];
  print $num;
}

$array = array(0,1,2,7);
get_last($array);
?>

So bekommst auch Deine 7 raus... eigentlich bekommst Du so immer die letzte Zahl (oder was auch immer Du in Deinem Array hast) raus.

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

SolidWorks 2006 SP5
Intel Core 2CPU (2.4 GHz)
2 GB RAM
Nvidia FX 560
Windows XP SP2
Novell als Netzwerk

erstellt am: 13. Feb. 2008 09:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von G. Dawg:

<?php
function get_last($array){
  $c = count($array)-1; // wieso -1? weil auch hier started das ganze bei 0.
  $num = $array[$c];
  print $num;
}

$array = array(0,1,2,7);
get_last($array);
?>


Hallo G.Dawg

Wenn ein Array folgendermassen gefüllt wird

$a[0] = a
$a[1] = b
$a[2] = c
$a[4] = d #3 fehlt absichtlich
$a[5] = e
$a[6] = f

dann bekommst du mit $c = count($a)-1 den Wert 5, da 6 Positionen im Array belegt sind.
Über $num = $a[$c] wird der Wert e in die Variable $num gespeichert.

Hintergrund: das php soll mir Beschreibungen zu Bildern in ein txt Speichern, es ist aber
nicht jedes Bild mit einer Beschreibung versehen. Somit ist nicht jede Stelle im Array mit
einem Wert belegt. Eine Lösung welche für mich funktioniert habe ich weiter oben
beschrieben. Ev. baue ich die Lösung noch um auf die Variaten, dass bestimmt wird wie viele
Bilder im Ordner liegen, und somit der höchste Wert im Array bekannt ist, mehr kann/darf
es nicht geben.

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

G. Dawg
Ehrenmitglied V.I.P. h.c.
FEM Simulant / Konstrukteur / SolidWorks



Sehen Sie sich das Profil von G. Dawg an!   Senden Sie eine Private Message an GDawg  Schreiben Sie einen Gästebucheintrag für GDawg

Beiträge: 2622
Registriert: 12.07.2004

erstellt am: 13. Feb. 2008 09:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Oberli Mike 10 Unities + Antwort hilfreich


phpGallery.zip

 
Ich weiss, das löst Dein Problem nicht so wie Du es möchtest, aber das sollte mehr eine Richtungsanzeige sein! 

Ich würde das nicht über einen Array machen, sondern per Dateiname.

###

Ich habe da mal eine keine Gallery zusammengebastelt. Ich habe Dir die Dateien angehängt. Dateien hochladen (am besten in ein Unterverzeichnis) und per gallery.php?open=gallery starten. Das Ganze ist dynamisch, kannst also beliebig Order erstellen und wieder löschen. Die Kommentare werden aus den Dateien im Verzeichnis gelesen.
Das Alles habe ich von der Website hier: http://spgm.sourceforge.net/  Ich habe einfach nur das herausgenommen was ich brauchen konnte ... da dies nur ein Testprojekt ist und nie zum Einsatz kam, kann ich das Dir gut "geben" 

Was Du jetzt noch "brauchst" ist das da: http://www.bluepalmtrees.com/?id=10
Alles richtig einstellen und los gehts!  Seeehr praktisch! habe es auf http://www.lightson.ch  im Einsatz, zusammen mit der SPGM-Gallery.
(Habe mir noch ein Plugin geschrieben, welches die Bilder in den Verzeichnisen in die Datenbank einliest. Jetzt kann ich ganz einfach die Zufallsbilder auf der Seite zeigen lassen.)

Das ist natürlich nur, wenn Du Deine Gallery (oder was auch immer) noch nicht fertig hast.

Ich hoffe, es hilft Dir trotzdem ein wenig. 

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

SolidWorks 2006 SP5
Intel Core 2CPU (2.4 GHz)
2 GB RAM
Nvidia FX 560
Windows XP SP2
Novell als Netzwerk

erstellt am: 13. Feb. 2008 09:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

 
Zitat:
Original erstellt von G. Dawg:
Das ist natürlich nur, wenn Du Deine Gallery (oder was auch immer) noch nicht fertig hast.
Ich hoffe, es hilft Dir trotzdem ein wenig.   

Ja, meine Gallery ist "fertig". Also sie funktioniert, fertig ist man mit sowas ja nie    

Wenn ich einen neuen Ordner erstelle, und dabei meinen Syntax einhalte, dann wird das
Menu automatisch richtig eingelesen, und die Bilder werden gefunden etc. Eigentlich muss
ich nur wissen, welche Bilder ich will, diese auf die richtige Grösse ändern (grosse und
kleine), und die Bilder richtig benennen. (Grösse ändern mache ich per bat-Datei über den
Irfanview. Dateinahmen per Makro in Excel). Vorlageverzeichnis für neuen Event kopieren,
richtig benennen, und die Bilder in die richtigen Unterordner speichern. Noch das ganze
hochladen und fertig ist es.

Werde mir deine Files aber sicher ansehen. Da ich mit PHP noch in den Kinderschuhen stecke
kann ich noch viel lernen    

[Edit] www.oberlix.ch  oben rechts den Button Events..... [/Edit]

Gruss
Mike


------------------

   
The Power Of Dreams

[Diese Nachricht wurde von Oberli Mike am 13. Feb. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

G. Dawg
Ehrenmitglied V.I.P. h.c.
FEM Simulant / Konstrukteur / SolidWorks



Sehen Sie sich das Profil von G. Dawg an!   Senden Sie eine Private Message an GDawg  Schreiben Sie einen Gästebucheintrag für GDawg

Beiträge: 2622
Registriert: 12.07.2004

erstellt am: 13. Feb. 2008 10:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Oberli Mike 10 Unities + Antwort hilfreich

Ah, Grindelwald! 
Da gehe ich auch schon bald wieder hin! Das Snowpenair auf der Kleinen Scheidegg!

Noch was anderes: Mehrzahl von Party ist Parties nicht Partys. 

Das Tool von BluePalmTrees macht die Thumbnails selber. Nur die grossen Bilder hochladen und fertig. Per FTP oder direkt einzelne Dateien.
Bilder skaliere ich mit ACDSee (3.1 gibts gratis) auf eine Höhe fixieren, hochladen, im SPGM Webministration Verzeichnis auswählen, warten, fertig. Bilder betexten und wenn nötig skalieren oder zusschneiden. Löschen oder umbenennen geht da auch.

Ich finde die Dropdowns auf Deiner Seite praktisch...!
Auf http://www.epaarberg.org/index.php?action=gallery  ist da ein wenig ein Durcheinander im Vergleich zu den Dropdowns!

Wenn Du noch andere Fragen haben solltest, kann ich Dir vielleicht per skype weiterhelfen - Wenn Du möchtest.

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

SolidWorks 2006 SP5
Intel Core 2CPU (2.4 GHz)
2 GB RAM
Nvidia FX 560
Windows XP SP2
Novell als Netzwerk

erstellt am: 13. Feb. 2008 10:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von G. Dawg:
Ich finde die Dropdowns auf Deiner Seite praktisch...!

Danke, der Inhalt wird wie geschrieben automatisch über das php gefüllt.

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz