php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-09-2008, 03:43
owi
 Newbie
Links : Onlinestatus : owi ist offline
Registriert seit: Aug 2008
Beiträge: 71
owi ist zur Zeit noch ein unbeschriebenes Blatt
Standard Array will nicht so wie ich will ^^

folgendes problem ...

ich hab in tabelle nr. 1 die news gespeichert und in tabelle nr. 2 welcher user welche favoriten hat ...

PHP-Code:
mysql_select_dbMYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");
$news_sql "SELECT newsid FROM favoriten WHERE user='$user'";
$news_result mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while (
$row mysql_fetch_array($news_resultMYSQL_NUM))
{
$newsids[] = $row[0];}

// die favoriten vom user werden gespeichert im Array als beispiel newsid nr. 2,6,8

$anzahl count($newsids);

for (
$i 0$i $anzahl$i++)
{
mysql_select_dbMYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");
$news_sql "SELECT titel FROM news WHERE id='$newsids[$i]'";
$news_result mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while (
$row mysql_fetch_array($news_resultMYSQL_NUM))
{
$news[] = $row[0];}

// hier kommt das das problem: ich bin jetzt davon ausgegangen das der jeden durchgang 
// einmal den mysql befehl ausführt und einmal den echo befehl also beim ersten durchgang 
// news[0] == 2, im zweiten news[0] == 6, im dritten news[0] == 8 .... dem ist aber nicht so 
// schinbar ist news[0] IMMER == 8 .... also ich bekomme bei 3 news 3x die selbe news.


echo '<tr>
           <td height="29">&nbsp;</td>
           <td class="Stil16"><div align="left">' 
$news[0] . '</div></td>
           <td>&nbsp;</td>
         </tr>'
;

Mein Problem besteht jetzt darin das ich keine Ahnung habe wie ich es anders machen könnte.

kann ich das Array in der Mysql abfrage ( $newsids[$i]' ) irgendwie anders ausgeben das alle IDs da reingequetscht werden?

zB.

PHP-Code:
$news_sql "SELECT titel FROM news WHERE id='2,4,5,6,7,8,123,17'";

// ka ob ich das array irgendwie so ausgeben kann? bzw. ob es funktionieren 
// würde ... dann könntre ich ja einfach noch den news befehl ändern und fertig:

$news[$i

Geändert von owi (13-09-2008 um 03:56 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 13-09-2008, 04:08
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

PHP-Code:
$news_sql 'SELECT titel FROM news WHERE id IN ('.implode(','$newsids).')'
Mit Zitat antworten
  #3 (permalink)  
Alt 13-09-2008, 04:11
Payne_of_Death
 Master
Links : Onlinestatus : Payne_of_Death ist offline
Registriert seit: Dec 2002
Ort: Folterkeller Nr. 18
Beiträge: 2.953
Payne_of_Death ist zur Zeit noch ein unbeschriebenes Blatt
Payne_of_Death eine Nachricht über ICQ schicken Payne_of_Death eine Nachricht über AIM schicken Payne_of_Death eine Nachricht über Yahoo! schicken
Standard

Du machst ja ganz wirre Sachen....

Zu später Stunde verwirrt mich das total

Aber wie es scheint versuchst du zwei Tabellen via PHP miteinander zu verknüpfen anstatt das über MySQL zu tun.....

Daher schlage ich vor du freundest dich mit den JOINS an. In deinem Fall wäre ein INNER JOIN wohl ausreichend.

Damit verknüpft bereits Mysql für dich deine zwei Tables und du müsstest diese nicht mehr händisch und ineffizent selbst aufbereiten
__________________
MfG Payne_of_Death

Manual(s): <-| PHP | MySQL | SELFHTML |->
Merke:
Du brauchst das Rad nicht neu erfinden ! <-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

Murphy`s Importanst LAWS
Jede Lösung bringt nur neue Probleme
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
In jedem kleinen Problem steckt ein großes, das gern raus moechte.
Mit Zitat antworten
  #4 (permalink)  
Alt 13-09-2008, 04:11
owi
 Newbie
Links : Onlinestatus : owi ist offline
Registriert seit: Aug 2008
Beiträge: 71
owi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

geil, danke, direkt mal testen =)

Ja, das Problem ist das ich erst seit ner woche oder zwei php "kann" aber ich lerne mit jedem tag 1-2 neue funktionen

bis ich alles kann muss ich mich halt noch so durchschlagen ^^

Joins wird dann mal direkt meine nächste lektüre

EDIT:

mh... das mit dem implode befehl scheint nicht zu klappen =(

$news[0] = leer
$news[1] = leer
$news[2] = leer
usw.

wenn ich es mit den zahlen direkt mache kommt wenigstens noch:

$news[0] = funktioniert
$news[1] = leer
$news[2] = leer
usw.

und ja es exsistieren definitiv einträge in den IDs die ich getestet habe und ich habe die mysql abfrage auch VOR nicht mehr in die forschleife gesetzt.

PHP-Code:
mysql_select_dbMYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");
$news_sql "SELECT titel FROM news WHERE id='5,6,9'";
$news_result mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while (
$row mysql_fetch_array($news_resultMYSQL_NUM)){
$news[] = $row[0];}

// also eigentlich so ... hab nur testweise diekt zahlen eingefügt um zu kucken obs an 
// den zahlen oder am explode befehl liegt ... also der explode befehl funktioniert .... 

$news_sql 'SELECT titel FROM news WHERE id IN ('.implode(','$newsids).')'

Geändert von owi (13-09-2008 um 09:40 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 13-09-2008, 08:50
uspri
 Registrierter Benutzer
Links : Onlinestatus : uspri ist offline
Registriert seit: Nov 2002
Ort: Freiberg / Sachsen
Beiträge: 83
uspri ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Warum schreibst Du von explode, wenn von implode die Rede ist?

Das kann nicht gehen:
PHP-Code:
$news_sql "SELECT titel FROM news WHERE id='5,6,9'"
es ei denn, Du hast ne id = "5,6,9"

Ansonsten muss Du WHERE id IN (5,6,9) schreiben oder WHERE id = 5 OR id = 6 OR id = 9
Mit Zitat antworten
  #6 (permalink)  
Alt 13-09-2008, 09:38
owi
 Newbie
Links : Onlinestatus : owi ist offline
Registriert seit: Aug 2008
Beiträge: 71
owi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hab so ziemlich alle schreibmethoden probiert aber

PHP-Code:
$news_sql 'SELECT titel FROM news WHERE id IN ('.implode(','$newsids).')'
gibt mir trotzdem nen leeres array ....
Mit Zitat antworten
  #7 (permalink)  
Alt 13-09-2008, 09:54
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.595
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Und was steht in $newsids drin?
Mit Zitat antworten
  #8 (permalink)  
Alt 13-09-2008, 14:22
Payne_of_Death
 Master
Links : Onlinestatus : Payne_of_Death ist offline
Registriert seit: Dec 2002
Ort: Folterkeller Nr. 18
Beiträge: 2.953
Payne_of_Death ist zur Zeit noch ein unbeschriebenes Blatt
Payne_of_Death eine Nachricht über ICQ schicken Payne_of_Death eine Nachricht über AIM schicken Payne_of_Death eine Nachricht über Yahoo! schicken
Standard

Vermutlich ist $newsids ein leeres Array wodurch das ganze SQL Statement die Ergebnismenge hinsichtlich Datensätze mit einer leeren ID beschränkt...

Du solltest die in erster Linie mal
$newsids anschauen und im Fehlerfall noch
$news_sql ausgeben lassen...

kurz gesagt sei dir immer im klaren wie deine aktuelle Datenstruktur aussieht, ansonsten ziehst du Folgefehler mit über die du irgendwann stolpern wirst.
__________________
MfG Payne_of_Death

Manual(s): <-| PHP | MySQL | SELFHTML |->
Merke:
Du brauchst das Rad nicht neu erfinden ! <-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

Murphy`s Importanst LAWS
Jede Lösung bringt nur neue Probleme
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
In jedem kleinen Problem steckt ein großes, das gern raus moechte.
Mit Zitat antworten
  #9 (permalink)  
Alt 13-09-2008, 17:03
owi
 Newbie
Links : Onlinestatus : owi ist offline
Registriert seit: Aug 2008
Beiträge: 71
owi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

implode(',', $newsids) = 5,6,9
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:33 Uhr.