php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.02.2005, 20:06  
Gast
 
Beiträge: n/a
Standard probleme mit referall system

Hallo!

Ich hab die Suchfunktion benutz und nichts poassendes gefunden! Deshalb mach ich nen neuen Thread auf!

Mein Problem ist folgendes:
Ich möchte ein Referallsytem erstellen über 11 Ebenen! Mit der Punktebetiligung von 15, 10, 4, 3, 2, 1, 2, 3, 4, 5, 5 % am Verdienst des geworbenen!
Nach dem login soll eine Seite angezeigt werden bei dem die Geworben Mitglieder pro Ebene angezeigt werden! Entweder die Anzahl oder alle Namen, dann der Verdienst durch den geworbenen!

z.B:
User1 wirbt User2 und User3
User2 wirbt User4
User3 wirbt User5
User4 wirbt User6 und User7
und
User7 wirbt User8

Jetzt hab ich eine Tabelle in meiner DB erstellt die wie folgt aussieht:

UserID | WerberID | RefID

entspricht:

User der geworben hat | User wurde geworben von | User hat geworben

Im o.g. Bsp würde die Tabelle dann so aussehen:

1|0|2
1|0|3
2|1|4
3|1|5
4|2|6
4|2|7
7|4|8

Jetzt will ich abfragen wie viel Referrals User1 in Ebene1 - Ebene11
geworben hat!

Ich haben das mal so probiert, allerdings funktioniert das nicht ganz:

Code:
<?php
include("include/eingeloggt.inc.php");
include("include/dbconnect.inc.php");


$sql = "SELECT id FROM benutzerdaten WHERE sessionid = '".session_id()."'";
$idausf = mysql_query($sql);
$ids = mysql_fetch_array($idausf);
$id = $ids[0];

//ref ebene1
$sqlebene1 = "SELECT refid FROM rEefsys WHRE userid = '$id'";
$ausf_eb1 = mysql_query($sqlebene1);
$anzeb1 = mysql_num_rows($ausf_eb1);
echo $anzeb1;


//ref ebene 2
 
		  foreach(mysql_fetch_array($ausf_eb1) as $refideb1)
		{
		$sqlebene2 = "SELECT refid FROM refsys WHERE userid = '$refideb1'";
		$ausf_eb2 = mysql_query($sqlebene2);
		$anzeb2 = mysql_num_rows($ausf_eb2);
		$ref_ausgeb2 = mysql_fetch_array($ausf_eb2);
		echo $anzeb2;
		}
		  ?>
Die erste Ebene hat funktioniert!
Da zeigt er 2 an!
Das stimmt ja auch
Dann gebe ich die UserID der geworbenen in Ebene1 in einem Array aus und frage dann die Spalten für Ebene 2 ab (Die Bedingung ist userid = UserId des gworbenen aus Ebene1). Da zeigt er dann aber 11 an was ja falsch ist! Da das schon falsch ist hab ich die anderen Ebenen erst gar nicht probiert zu coden! Ich weiß nicht worans liegt.... vielleicht an der foreach schleife oder so?

Könnt ihr mir helfen????
Vielleicht liegts ja auch am Array in der foreach schleife!
Könnt ihr mir sagen worans liegt und ggf. einen Lösungsvorschlag geben????

Vielen Dank schonmal im Vorraus!

MfG
Ryo
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.02.2005, 20:19  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kauf dir'n partnerprogramm, das das unterstützt. das ganze ist nicht trivial und man hat massig zu tun damit. der aufwand dafür steht in keinem verhältnis zu den lizenzgebühren für ein partnerprogramm.

übrigens: referral, vielen dank im voraus, und ein gültiges satzzeichenende ist der punkt ., und nicht ????????????????? oder !!! oder ! .

danke.

eine einfache lösungsmöglichkeit zu deinem problem wäre eine rekursive funktion, die für jede tiefe eine abfrage startet mit abbruch bei tiefe 11, was die datenbank aber zu schnell in die knie zwingt. die bessere lösung ist aber höhere mathematik, suchbegriffe dafür sind 'nested sets'.
axo ist offline  
Alt 05.02.2005, 20:23  
Gast
 
Beiträge: n/a
Standard

und wie sieht so ne rekursive funktion aus?

übrigens: Fehlt bei deiner Tastatur die Shift Taste? :wink:
 
Alt 05.02.2005, 20:38  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

rekursion:
PHP-Code:
<?php
function fac($a) {
      return (
$a <= 1) ? : ($a fac(--$a));  
}
?>
übrigens: ja, ich hab vor ein paar jahren an meiner tastatur die shift-taste rausgebrochen.
axo ist offline  
Alt 05.02.2005, 20:43  
Gast
 
Beiträge: n/a
Standard

und was soll das alles beduten! So gut blick ich php auch wieder nicht!
 
Alt 05.02.2005, 21:28  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://de.wikipedia.org/wiki/Rekursion
axo ist offline  
Alt 05.02.2005, 21:34  
Gast
 
Beiträge: n/a
Standard

Könntest du mir vielleicht an Code beispiel geben, wie ich mit Rekursion die Daten auslese?
Nested Sets blick ich irgendwie nicht!
Dank!
 
Alt 05.02.2005, 23:11  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von ryo
Könntest du mir vielleicht an Code beispiel geben, wie ich mit Rekursion die Daten auslese?
Nested Sets blick ich irgendwie nicht!
jep... mein tip, und dafuer werd ich jetz wieder gehasst werden: lern programmieren, lern was nested sets sind, lern was rekursion ist, wie das alles funktioniert und wie man es einsetzt. dann schreib dein script. und erst dann...
__________________
Was ist validität?
fantast ist offline  
Alt 05.02.2005, 23:27  
Gast
 
Beiträge: n/a
Standard

Ich lern schon programmieren! Trotzdem könte ich hilfe gebrauchen! Denkste Programmieren erlernt sich von alleine??????
Abers gibt ja zum Glück so hilfsbereite Leute wie dich "fantast" die es einem unbeschreiblich erleichtern Programmierne zu Lernen!

Oh Gott... Wenn nur alle Leute so naiv wie du wären...... wie wäre wohl die Welt.......
 
Alt 05.02.2005, 23:35  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum.

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen.

moved to PHP - Anfänger
__________________
mod = master of disaster
Waq ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
system() flush und Safari webbi PHP-Fortgeschrittene 6 07.07.2008 21:30
Login System Probleme ! 7Style PHP Tipps 2008 2 07.01.2008 13:55
ComputerVerwaltung / System / Ereignisanzeige dh1sbg PHP-Fortgeschrittene 3 17.11.2006 01:42
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Wie ODBC Treiber als System DSN konfigurieren Bouni Off-Topic Diskussionen 0 03.02.2006 16:28
Probleme bei der Installation von Turck MMCache tomx992 PHP-Fortgeschrittene 2 27.09.2005 20:31
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
29.07.05: System Administrator Appreciation Day!! Off-Topic Diskussionen 2 25.07.2005 09:15
Auf welchen System funktioniert ftp_rawlist Schaelle PHP Tipps 2005-2 0 30.06.2005 19:43
Chat System Chat System Beitragsarchiv 3 21.06.2005 17:07
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
Shop System Probleme PHP Tipps 2004 4 05.08.2004 14:15
Probleme mit system() PHP Tipps 2004 2 21.06.2004 13:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ftp_rawlist tiefe

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.