Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Vergleich von asynchronen Tabellen

Mitglied: 61200

61200 (Level 1)

09.02.2008, aktualisiert 11.02.2008, 2969 Aufrufe, 3 Kommentare

Da bin ich schon wieder ;).
Mein erstes CMS ist fast fertig bis auf mein Update Formular.... nachdem ihr mir vor kurzem so gut geholfen habt bin ich nun erneut ins stocken geraten, ich probiere seit heute Morgen 9 UHR daran herum.
Unten findet ihr meinen letzten Stand, zwischendurch war es mal besser, aber nie 100%ig... also unfertiger nicht funktionierender code, oft aus Testzwecken umgebaut, natürlich mittendrin auch kein SVN COMMIT ausgeführt.
Naja zu meinem Problem

Im User hinzufügen Formular gebe ich Sprachen, Kennzeichen und andere als Checkboxen aus, diese checkboxen sind dynamisch, sprich man hat die Möglichkeit in meinem Skript der Datenbank weitere Sprachen und Kennzeichen hinzuzufügen, sprich sowohl mein Update User als auch mein user neu-anlegen Formular sind teildynamisch.
User einpflegen klappt alles ohne Probleme.

Jetzt habe ich das gleiche Formular zum "user ändern" und füttere es vorab mit den Daten die der User hat oder eben nicht hat.
Klappt auch soweit bei allen nicht dynamischen Checkboxen und Eingabefeldern.

Ich kriege es nicht hin die Sprachen die der User hat mit allen existierenden Sprachen zu vergleichen um anschließend bei denen die gleich sind die checkbox mit dem attribut checked="checked" auszugeben.

Tabellen:
Sprachen:
sprach_id,sprache

zu_sprachen (hier wird die user_id und die sprach_id verknüpft wenn dieser User eine der sprachen gewählt hat)
sprach_id,user_id

Ergebnis soll nun sein das er mir alle Checkboxen von allen Sprachen ausgibt die existieren so wie in meinem User hinzufügen Formular hier:
Nur das die Sprachen die dem User schon gegeben wurden das Attribut checked="checked" bekommen.

Sprachen wählen<br>
<?php
$result = mysql_query("SELECT * FROM sprachen");


while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
$row_trimmed = str_replace(" ","_",$row[1]);

?>
<input type="checkbox" name="box_sprachen[]" value="<?php echo $row_trimmed; ?>"> <?php echo $row[1]; ?> <br>
<?php

}

Wenn ich beide Tabellen miteinander vergleiche klappt das nicht, da asynchron weil die sprachen die der user hat nicht mit der gesamtanzahl der verfügbaren sprachen übereinstimmt.
Ich hab bald alles probiert und steh kurz davor meine Monitore aus dem Fenster zu werfen ;).
Einzige Lösung die mir einfällt wäre, alle nicht gewählten Sprachen mit "0" in die "zu_sprachen" tabelle einzupflegen, das würde diese aber nur unnötig füllen.
Unten mein letzter Stand meiner Versuche...... ich denke der Code ist eher für die Tonne da ich so viel probiert habe...

PS: Habt ihr eine Spendemöglichkeit?


Sprachen wählen<br>
<?php
//Ermitteln der Sprachen
$db_anzahl = mysql_query("select count(sprach_id) from sprachen");
$anzahl = mysql_fetch_array($db_anzahl, MYSQL_NUM);
$db_user_sprachen=mysql_query("select sprachen.sprache from zu_sprachen, sprachen where zu_sprachen.sprach_id = sprachen.sprach_id and zu_sprachen.user_id=\"$user_id\"");
$x=1;

for($i=1;$i<=$anzahl[0];$i++){

$db_alle_sprachen=mysql_query("select * from sprachen where sprach_id=\"$x\" order by sprach_id asc");
$alle_sprachen=mysql_fetch_array($db_alle_sprachen);

$user_sprachen=mysql_fetch_array($db_user_sprachen);
$db_sprachen= mysql_query("select * from sprachen where sprache=\"$user_sprachen[0]\" order by sprach_id asc");
$db_sprachen2= mysql_query ("select * from sprachen where sprache=\"$user_sprachen[0]\" order by sprach_id asc");
$sprachen= mysql_fetch_array($db_sprachen);
$sprachen2= mysql_fetch_array($db_sprachen2);
$db_alle_sprachen=mysql_query("select * from sprachen");

$row_trimmed = str_replace(" ","_",$alle_sprachen[1]);

echo "alle sprachen: <br>" . $alle_sprachen[1] ."<br>";

if ($sprachen[1]!="")

{
echo $sprachen[0];
echo "if: <br>";

}
if ($sprachen1[0]==$alle_sprachen)
{

echo "if2: <br>";

}
$x++;
}

?>
Mitglied: 61200
10.02.2008 um 02:57 Uhr
So ich habe es jetzt (mal wieder) umgebaut..... aber ich krieg einfach diese IF Abfrage nicht hin......

gibt es keine Möglichkeit
die if abfrage so zu struktuieren das der wert vor dem gleich so lange festgehalten wird bis alle nach dem gleich durchgegangen sind und er dann zum nächsten wert vor dem gleich springt und wiedr alle abfragt?


So mein derzeitiger code


Sprachen wählen<br>
<?php
Ermitteln der Sprachen
Ermitteln Anzahl Datensätze


$db_anzahl = mysql_query("select count(sprach_id) from sprachen");
$anzahl = mysql_fetch_array($db_anzahl, MYSQL_NUM);
$db_anzahl2 = mysql_query("select count(sprach_id) from sprachen");
$anzahl2 = mysql_fEtch_array($db_anzahl2, MYSQL_NUM);


$x=1;
echo "user_id " . $user_id . "<br>";
echo "anzahl " . $anzahl[0]. "<br>";
for($i=1;$i<=$anzahl[0];$i++)
{

$db_alle_sprachen = mysql_query ("select sprache from sprachen");
while($alle_sprachen = mysql_fetch_array($db_alle_sprachen)){
echo "alle sprachen " . $alle_sprachen[0]. "<br>";
$x++;



$db_ausgabe_sprachen = mysql_query( "select sprachen.sprache from zu_sprachen, sprachen where zu_sprachen.sprach_id = sprachen.sprach_id and zu_sprachen.user_id=\"$user_id\"");
while($ausgabe_sprachen = mysql_fetch_array ($db_ausgabe_sprachen)){
/*echo "for 1 " . $ausgabe_sprachen[0]. "<br>";*/


}
}
if($alle_sprachen[0]==$ausgabe_sprachen[0])
{echo "IF 1";}
}

/*$row_trimmed = str_replace(" ","_",$alle_sprachen[0]);*/

?>
<input type="checkbox" name="box_sprachen[]" value="<?php /*echo $row_trimmed;*/ ?>" <?php /*echo $checked;*/ ?> > <?php /*echo $ausgabe_sprachen[0];*/ ?> <br>
<?php



?>
Bitte warten ..
Mitglied: 61200
11.02.2008 um 01:24 Uhr
Keiner?
Ich habe es den halben Tag weiter probiert und bin zu keiner Lösung gekommen ;(.
Bin damit sehr in Eile... ich hoffe unter euch ist jemand der mir da weiterhelfen kann.

lg
Bitte warten ..
Mitglied: 61200
11.02.2008 um 17:20 Uhr
So, ich habe es nun fast..... allerdings krieg ich nun die Ausgabe nicht hin...?!?!
Wenn ich an der einen Stelle der For Schleife ausgebe bekomme ich alle Sprachen doppelt und dreifach angezeigt und an der anderen Stelle ist meine Variable $checked nicht richtig.....

Neuester Code:

<?php
echo "User ID: " . $user_id . "<br>";
$db_user_sprachen = mysql_query( "select sprachen.sprache from zu_sprachen, sprachen where zu_sprachen.sprach_id = sprachen.sprach_id and zu_sprachen.user_id=\"$user_id\"");
$db_alle_sprachen = mysql_query( "select sprache from sprachen");
$db_alle_sprachen2 = mysql_query( "select sprache from sprachen");
$db_anzahl_alle_sprachen = mysql_query("select count(sprache) from sprachen");
$db_anzahl_user_sprachen = mysql_query("select count(user_id) from zu_sprachen where user_id=\"$user_id\"");
$anzahl_alle_sprachen=mysql_fetch_array($db_anzahl_alle_sprachen);
$anzahl_user_sprachen=mysql_fetch_array($db_anzahl_user_sprachen);



for($i=1;$i<=$anzahl_alle_sprachen[0];$i++)
{
$alle_sprachen2=mysql_fetch_array($db_alle_sprachen2);
$alle_sprachen=mysql_fetch_array($db_alle_sprachen);
$db_user_sprachen = mysql_query( "select sprachen.sprache from zu_sprachen, sprachen where zu_sprachen.sprach_id = sprachen.sprach_id and zu_sprachen.user_id=\"$user_id\"");
for($i2=1;$i2<=$anzahl_user_sprachen[0];$i2++)
{
$user_sprachen=mysql_fetch_array($db_user_sprachen);

if ($alle_sprachen[0]==$user_sprachen[0])
{
$checked="checked=\"checked\"";
}
else
{
$checked="";
}
echo $alle_sprachen[0] . $checked . "<br>";

}


}

?>
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Vergleich von 2 Tabellen in Excel
gelöst Frage von abuelitoMicrosoft Office4 Kommentare

Hallo an Alle, folgendes Problem: Ich habe eine Exceldatei mit 2 Tabellen. Spalten sind identisch. Tabelle1 hat aktuelle Daten ...

VB for Applications

Exceltabelle mit anderen 2 tabellen vergleichen

gelöst Frage von 123660VB for Applications12 Kommentare

Hallo zusammen! Ich stehe vor folgendem Problem und bräuchte wieder eure Hilfe. In Excel 2010 muss ich Tabelle 1 ...

Microsoft

Tabellen miteinander vergleichen

Frage von Acht85Microsoft1 Kommentar

Hallo Community, ich habe 2 Tabellen mit Namen (die auch unterschiedlich geschrieben sein können, baer nicht mehrmals auftauchen) und ...

Microsoft Office

ACCESS Tabellen vergleichen

gelöst Frage von abuelitoMicrosoft Office4 Kommentare

Hallo, ich habe eine ACCESS 2003 Datenbank mit 2 Tabellen. Jede Tabelle hat nur eine Spalte. Tabelle1 hat ca. ...

Neue Wissensbeiträge
Humor (lol)
Meine Variante der DSGVO
Tipp von Henere vor 15 StundenHumor (lol)1 Kommentar

Datenschutzerklärung Jede gute Website braucht eine Datenschutzerklärung? Ok, dann machen Sie sich auf etwas gefasst. Präambel Artikel 12 der ...

Administrator.de Feedback

Entwicklertagebuch: Datenschutzerklärung nach DS-GVO

Information von admtech vor 22 StundenAdministrator.de Feedback

Hallo Administrator User, Wir respektieren eure Privatsphäre und möchten euch daher auf die Möglichkeiten für den Umgang mit euren ...

Voice over IP

Rufnummernblock aufbrechen nun möglich bei DTAG

Tipp von Datenreise vor 1 TagVoice over IP

Bei der Telekom ist es seit einigen Tagen laut Aussage der Geschäftskunden-Hotline möglich, eine Rufnummernübernahme auch dann durchzuführen, wenn ...

Netzwerke
Riesiges Botnetz in Deutschland
Tipp von FFSephiroth vor 1 TagNetzwerke1 Kommentar

Überprüft mal eure Router und NAS

Heiß diskutierte Inhalte
Voice over IP
VOIP: Lösungen für Notruf?
Frage von MimemmmVoice over IP26 Kommentare

Hey Welche Möglichkeiten hat man eigentlich noch bei VOIP um zuverlässige Notrufe zu ermöglichen? Ein aufgeladenes Handy habe ist ...

Windows Server
Fragwürdige GPO Fehler im Syslog
gelöst Frage von Ex0r2k16Windows Server13 Kommentare

Hallo! Ich kriege bei manchen (oder sogar allen? -prüfe noch) Clients folgenden Fehler bei mehreren GPOs (aber nicht bei ...

Netzwerkmanagement
PfSense - verschiedene Subnetze über VLAN mit DHCP - WLAN-AP einrichten
gelöst Frage von xtommmikNetzwerkmanagement11 Kommentare

Hallo zusammen, ich wollte mein Netzwerk um eine HW-Firewall erweitern und habe mich nach einlesen recherchieren und Tutorials überfliegen ...

Virtualisierung
Wieviele VMs für minimale Citrix 7.15 Umgebung?
gelöst Frage von Stefan007Virtualisierung10 Kommentare

Hi zusammen, wieviele VMs (und welche sind es), brauche ich für eine minimale Citrix 7.15 Umgebung? Ich würde gerne ...