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 04-03-2005, 17:17
Humu
 Newbie
Links : Onlinestatus : Humu ist offline
Registriert seit: Oct 2004
Beiträge: 12
Humu ist zur Zeit noch ein unbeschriebenes Blatt
Standard Bilder generierten Meldungen zuordnen

Hallo Leute,

ich hoffe Ihr könnt mir helfen!!

Folgendes Problem.

Der User soll bei mir die Möglichkeit haben aktuelle Meldungen per PHP und MySQL in die Datenbank reinzuschreiben.

Diese werden dann z.B. auf der Seite "Aktuell" wieder ausglesen. Sagen wir mal von den aktuellen Meldungen in der Datenbank werden 10 ausgelesen. DIe restlichen Meldungen sollen auf der Seite "Archiv" erscheinen.

Zusätzlich soll der User die Möglichkeit haben, Bilder zu der jeweiligen verfassten Meldung hochzuladen, so dass diese neben dem Text dann auch auf der Seite "Aktuell" zur jeweiligen Meldung erscheinen.

Das die Meldungen ORDERED by a_id auf der akuellen Seite erscheinen, alles kein Problem.

Mein Problem ist, wie ordne ich der jeweiligen Meldung das Bild zu?

Der Code für das Bilder hochladen sieht folgendermassen aus:

PHP-Code:
$query mysql_query("SELECT * FROM a_index");
    
$data mysql_fetch_array($query);

    
if(isset(
$_POST['Fload'])==true){
$imageload=$_FILES['file']['tmp_name'];
    if (
$data['image1'] != "emptypic"){
    
unlink("../upload/".$data['image1'].".jpg");
    }
    
$filename md5(rand(032768).time()."bild_1");
    
copy($imageload"../upload/".$filename.".jpg");
    
scale_image(140100"EBFAFF"$_FILES['file']['tmp_name'], $_FILES['file']['type'], $filename"../upload/"70"jpg");
    
mysql_query("UPDATE a_index SET image1='$filename.jpg'");
    
$data['image1']= $filename;
}
#################Text hochladen ############
    
mysql_query("INSERT INTO a_index (headline, date, subheadline, text, image1) VALUES ('".$headline."','".time()."','".$subheadline."', '".$text."','".$filename."');"); 
Der Code ist natürlich etwas gekürzt, aber ich hoffe, Ihr versteht somit mein Problem dennoch.
Funktionieren tut es, aber nur mit den Meldungen, aber nicht unterschiedliche Bilder

Klar bei den Bildern müsste ich per MySQL mysql_query("UPDATE a_index SET image1='$filename.jpg'" WHERE ??a_id??); angeben, damit der Computer der Meldung mit seiner eigenen a_id das Bild zuordnet.

Nur wird die id der Meldung ja erst nach hochladen in die Datenbank generiert. Demzufolge macht er bei mir nach Bilder upload natürlich ein Bild in alle Spalten von image1 in der Datenbank rein.

Wie kann ich mitteilen, dass er das hochgeladene Bild nur bei einer Meldung in die Datenbank schreibt?

Ich hoffe, Ihr versteht, was ich meine....

Viele Grüsse,

Humu
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 05-03-2005, 08:45
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das
mysql_query("UPDATE a_index SET image1='$filename.jpg'");
weglassen und das
SET image1='$filename.jpg'
mit ins insert nehmen
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #3 (permalink)  
Alt 07-03-2005, 13:09
Humu
 Newbie
Links : Onlinestatus : Humu ist offline
Registriert seit: Oct 2004
Beiträge: 12
Humu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

vielen Dank für die Antwort, aber leider klappt das immer noch nicht.
Ich habe die SET image1='$filename.jpg' nun in dem INSERT Befehl ausprobiert, aber es funktioniert nich. Es steht wahrscheinlich an der falschen Stelle, aber ich habe es an jeder denkbaren Position ausprobiert, aber es geht nicht.

Kann mir jemand helfen?!


PHP-Code:

if(isset($_POST['Fupdate'])==true){

$imageload=$_FILES['file']['tmp_name'];
    if (
$data['image1'] != "emptypic"){
    
unlink("../upload/".$data['image1'].".jpg");
    }
    
$filename md5(rand(032768).time()."bild_1");
    
copy($imageload"../upload/".$filename.".jpg");
    
scale_image(140100"EBFAFF"$_FILES['file']['tmp_name'], $_FILES['file']['type'], $filename"../upload/"70"jpg");
    
#mysql_query("UPDATE a_index SET image1='$filename.jpg'");
    #mysql_query("UPDATE a_index SET image1='$filename.jpg' WHERE a_id=$id");
    #mysql_query("UPDATE a_index SET image2='$filename.jpg'");
    
$data['image1']= $filename;

$headline$_POST['Fheadline'];
    
$subheadline$_POST['Fsubheadline'];
    
$text$_POST['Ftext'];

############# Eintrag in DB ####################
mysql_query("INSERT INTO a_index (headline, date, subheadline, text)
 VALUES ('"
.$headline."','".time()."','".$subheadline."', '".$text."'); SET image1='$filename.jpg'");
################################### 


Dann noch eine zusätzliche Frage:

Ich will, dass nur 10 Meldungen angezeigt werden. Der Rest soll dann automatisch auf einer anderen Seite, der "Archiv-Seite angezeigt werden"

Nur die 10 neuesten Meldungen anzuzeigen, das ist mir klar.
Z.B. durch

PHP-Code:
ORDER BY date LIMIT 10 ASC
Wenn ich jetzt aber automatisch die anderen Nachrichten woanders anzeigen will, wie mach ich das?

PHP-Code:
SELECT FROM a_index ORDER BY date WHERE a_id=a_id-10
Da würde er ja Probleme kriegen, wenn er bei a_id=9 ankommt, weil er dann einen Wert unter 0 ausgeben müsste, oder?


Ich hoffe, Ihr könnt mir helfen!

Gruss,

Humu
Mit Zitat antworten
  #4 (permalink)  
Alt 07-03-2005, 14:49
Humu
 Newbie
Links : Onlinestatus : Humu ist offline
Registriert seit: Oct 2004
Beiträge: 12
Humu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Leute,

Danke MelloPie, Du hattest natürlich recht. Jetzt geht es soweit. Ich hätte mal zwischenzeitlich in meine Datenbank schauen sollen... Die Bilder hat er richtig reingeladen, nur bei meinem echo-Befehl auf der anderen Seite hatte ich einen Fehler gemacht....

Manchmal sieht man den Wald vor lautet Bäumen nicht mehr.

Dennoch danke vorerst.

Für meine zweite Frage habe ich bisher noch keine Lösung. Also wenn da jemand helfen kann, dann waere ich dankbar.

Gruß,

Humu
Mit Zitat antworten
  #5 (permalink)  
Alt 07-03-2005, 17:52
Humu
 Newbie
Links : Onlinestatus : Humu ist offline
Registriert seit: Oct 2004
Beiträge: 12
Humu ist zur Zeit noch ein unbeschriebenes Blatt
Standard Auslesen aktueller Meldungen und archivieren von Älteren

Hallo,

hoffentlich könnt Ihr mir wieder helfen...

Also zur Frage.

Wie kann ich per MySQl Befehl folgendes Problem lösen?

Ich lese die von einem User generierten Meldungen aus, sagen wir mal 10 werden davon auf einer Seite gezeigt und zwar die Aktuellsten.

Nun will ich dass ältere Meldungen automatisch auf einer anderen Seite im sogenannten Archiv erscheinen.

Das klingt eigentlich nicht sonderlich schwer, dachte ich.

Die aktuellen Meldungen kann ich klar per MySQL Befehl auslesen:

PHP-Code:
SELECT FROM a_index ORDER BY date DESC LIMIT 10 
Nur wie ich auf einer anderen Seite nun die restlichen sich in der Datenbank befindlichen Meldungen auslese ist mir bisher ein Rätsel.

Schön wärs wenn ich einfach sagen könnte:

PHP-Code:
....WHERE a_id=a_id-10 
Aber sowas geht ja leider nicht.

Ist das sehr schwer zu machen oder is das machbar?

Das Problem ist ja, dass ich irgendwie die neuesten Meldungen mit den Älteren vergleichen müsste, um eben dadurch zu sehen, welche im Archiv dargestellt werden sollen.

Wenn mir nur jemand einen Tip gehen könnte, wie das zu machen ist.

Ich hab schon in meinem MySQL-Buch nachgeschaut, aber ich finde keinen Befehl der das kann.

Oder bin ich mit Blindheit geschlagen?

Viele Grüsse,

Humu
Mit Zitat antworten
  #6 (permalink)  
Alt 07-03-2005, 18:55
em-!x
 Member
Links : Onlinestatus : em-!x ist offline
Registriert seit: Sep 2003
Beiträge: 491
em-!x ist zur Zeit noch ein unbeschriebenes Blatt
Standard

eine Möglichkeit, vielleicht ja nicht gerade die eleganteste wäre:

Datum des zehnt-letzten eintrags feststellen und per datumsvergleich nur ältere beiträge selektieren
Mit Zitat antworten
  #7 (permalink)  
Alt 07-03-2005, 19:20
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die anderen IDs?
auch mit LIMIT rtfm
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #8 (permalink)  
Alt 11-03-2005, 10:03
Humu
 Newbie
Links : Onlinestatus : Humu ist offline
Registriert seit: Oct 2004
Beiträge: 12
Humu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Leute,

ich habs jetzt folgendermassen gelöst.
Kam irgendwie in U-Bahn drauf
Das funktioniert auch, ist aber auch nicht optimal.
Wenn die a_id´s der Meldungen fortgehend sich um eins steigern, kein Problem.

Nur, was ist, wenn man eine Meldung löscht?
Dann wird die nächste z.B. nicht bei a_id 6 sondern bei a_id 7 eingetragen, wegen autoincrement.

Irgendwelche Lösungsvorschläge?!

PHP-Code:

$query1= mysql_query("SELECT * FROM aktuell ORDER BY date DESC");

$data1 = mysql_fetch_array($query1);
$id = $data1['a_id']-10;
$query= mysql_query("SELECT * FROM aktuell WHERE a_id<=$id ORDER BY date DESC");


<?php 
while ($data mysql_fetch_array($query)) {
                    
                    
?>
Zitat:
Mellopie schrieb:

die anderen IDs?
auch mit LIMIT rtfm
was ist bitte rtfm?

Gruss

Humu
Mit Zitat antworten
  #9 (permalink)  
Alt 11-03-2005, 10:40
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Humu

was ist bitte rtfm?
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 20:24 Uhr.