Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Eine ganze zeile auswählen

Frage Entwicklung

Mitglied: helmuthelmut2000

helmuthelmut2000 (Level 2) - Jetzt verbinden

08.10.2006, aktualisiert 14.10.2006, 5318 Aufrufe, 14 Kommentare

Hallo,

Ich hab da ein Problem,
Ich habe mit PHP und MSSQL eine Tabelle erstellt und jetzt muß
Ich die auch auswählen können zum ändern oder löschen.
Jetzt mach ich das mit :

echo "<td><input type='radio' name='auswahl' value='" . $dsatz["Schluessel"] . "'></td>";

Ich hätte das etwas schöner, das man mit einem Klick auf die Zeile das auswählen kann.
Weis jemand wie man das macht?

Geht das mit Java oder mit PHP?

Danke.

Gruß
Helmut
Mitglied: filippg
09.10.2006 um 00:59 Uhr
Hallo,

du kannst einfach einen Hyperlink in jeder Zeile machen. Als Ziel (url) gibst du dann halt die entsprechende Seite an (wie jetzt auch) und hängst "?auswahl=$dsatz["Schluessel"]" an. Die Ziel-Seite musst du halt u.U. ein wenig Ändern, weil die Daten jetzt per GET über tragen werden ($_GET['...']), statt per POST ( $_POST['...]).

Filipp
Bitte warten ..
Mitglied: helmuthelmut2000
10.10.2006 um 21:45 Uhr
Hallo Filipp,

Irgend etwas geht da nicht so wie ich will,
Ich kopiere dir mal die Seite vielleicht kanst du mir dann
etwas genauer sagen wo ich das reinschreiben soll.
Oder findest du auch einen anderen Fehler.
Fomatiert und Farbe bekommt die Seite erst wen alles funktioniert.

<html>
<body>
Wählen Sie aus, welcher Datensatz geändert werden soll:<p>
<form action = "Teil2_2.php" method = "post">
<?php
alle Fehler im Browser anzeigen
ini_set("diplay_errors",1);
error_reporting(E_ALL);

define ('MSSQL_HOST','SQLSERVER');
define ('MSSQL_USER','sa');
define ('MSSQL_PASS','Passwort');
define ('MSSQL_DATABASE','Datenbank');

$db_link=mssql_connect(MSSQL_HOST,MSSQL_USER,MSSQL_PASS);
$select=mssql_select_db(MSSQL_DATABASE)or die(mssql_error());

$res = mssql_query("select * from Ergebnisse");
$num = mssql_num_rows($res);


Tabellenbeginn
echo "<table border>";

Überschrift
echo
"<tr>
<td></td>
<td>D1</td>
<td>D2</td>
<td>D3</td>
<td>D4</td>
<td>D5</td>
<td>D6</td>
<td>D7</td>
<td>Schluessel</td>
</tr>";

while ($dsatz = mssql_fetch_assoc($res))
{
echo "<tr>";
echo "<td><input type='radio' name='auswahl' value='" . $dsatz["Schluessel"] . "'></td>";
echo "<td>" . $dsatz["D1"] . "</td>";
echo "<td>" . $dsatz["D2"] . "</td>";
echo "<td>" . $dsatz["D3"] . "</td>";
echo "<td>" . $dsatz["D4"] . "</td>";
echo "<td>" . $dsatz["D5"] . "</td>";
echo "<td>" . $dsatz["D6"] . "</td>";
echo "<td>" . $dsatz["D7"] . "</td>";
echo "<td>" . $dsatz["Schluessel"] . "</td>";
echo "</tr>";
}
Tabellenende
echo "</table>";
?>
<p>
<input type="submit" value="Datensatz anzeigen">
</form>
</body>
</html>

Danke.

Gruß
Helmut
Bitte warten ..
Mitglied: filippg
10.10.2006 um 22:44 Uhr
Hallo,

ändere die Zeile
echo "<td><input type='radio' name='auswahl' value='" . $dsatz["Schluessel"] . "'></td>";
in
01.
 echo "<td><a href="Teil2_2.php?auswahl='+$dsatz["Schluessel"] +'">'+$dsatz["Schluessel"]+'</td>";
Alles, was etwas mit <form> zu tun hat (inputs, form-Tag) kannst du entfernen.
In der teil2_2.php kannst du dann über $_GET["auswahl"] erfahren, welcher Datensatz/Schlüssel angeklickt wurde.
Ob das jetzt das ist, was du wolltest weiss ich auch nicht, aber so habe ich deine Frage verstanden.
Bitte warten ..
Mitglied: helmuthelmut2000
11.10.2006 um 10:42 Uhr
Hallo,

Wenn ich die Zeile so einfüge dann bekomme ich eine Fehlermeldung:

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\Programme\Apache... on Line 42

Stimmt da noch was mit den Hochkommas nicht?

Gruß
Helmut
Bitte warten ..
Mitglied: filippg
11.10.2006 um 12:09 Uhr
Ja, das kann sein. Die Teilstrings werden wohl einfach nicht mit einem "+" verknüpft, sondern mit einem ".". Ersetze jedes "+" durch einen "." (oder doch ","?). Da das jede Sprache anders handhabt komme ich hier immer durcheinandern. Ausserdem fehlt als vorletztes Zeichen (direkt vor dem Semikolon) in der Zeile ein einfaches Hochkomma.
Auf sowas achte ich bei so Posts auch nicht wirklich, ich will Prinzipien erklären. Die Überprüfung/Korrektur der Syntax überlasse ich dann den Fragestellern.

Filipp
Bitte warten ..
Mitglied: helmuthelmut2000
11.10.2006 um 21:16 Uhr
Hallo,

Geht leider noch nicht ich bekomme immer noch den Fehler:

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\Programme...
on line 42

Fällt dir vielleicht noch was ein?
Ich habe jetzt . und , versucht.

Gruß
Helmut
Bitte warten ..
Mitglied: helmuthelmut2000
11.10.2006 um 21:32 Uhr
Hallo,

Alles klar Super es klapt.

a href='Teil2... und nicht "Teil2.....

Viilen Dank.
Bitte warten ..
Mitglied: helmuthelmut2000
11.10.2006 um 22:05 Uhr
Hallo,

Da hab ich mich zu früh gefreut.
Es gibt zwar keine Fehler aber die Felder bleiben leer.
Ich hab da jetzt so:

echo "<td><a href='Teil2_2.php?auswahl='" . $dsatz["Schluessel"] . '>' . $dsatz["Schluessel"] . '</td>"';

Gruß
Helmut
Bitte warten ..
Mitglied: helmuthelmut2000
13.10.2006 um 20:57 Uhr
Hallo,

Ich krig das nicht hin.
Kannst du mir vielleicht noch einen Tipp geben wo
noch ein Fehler sein könnte?


Gruß
Helmut
Bitte warten ..
Mitglied: filippg
14.10.2006 um 00:21 Uhr
Naja, dass sieht so eigentlich nicht ganz schlecht aus. Poste nochmal den ganzen Code... und überprüfe nochmal, ob nicht evtl. $dsatz["Schluessel"] einfach leer ist. Fehlermeldung kommt keine?

Filipp
Bitte warten ..
Mitglied: helmuthelmut2000
14.10.2006 um 01:55 Uhr
Hallo,

Ja das ist ja das problem das keine Fehlermeldung kommt,
Das Feld Schluessel ist nicht leer, es wird auch zum auswählen angezeigt.
Nur auf der zweiten Seite bleiben die Felder zum ändern leer.

Ich kopiere mal den genzen Text rein.

<html>
<body>
Wählen Sie aus, welcher Datensatz geändert werden soll:<p>
<form action = "Teil2_2.php" method = "Post">
<?php
alle Fehler im Browser anzeigen
ini_set("diplay_errors",1);
error_reporting(E_ALL);

define ('MSSQL_HOST','SQLSERVER');
define ('MSSQL_USER','sa');
define ('MSSQL_PASS','Passwort');
define ('MSSQL_DATABASE','Datenbank');

$db_link=mssql_connect(MSSQL_HOST,MSSQL_USER,MSSQL_PASS);
$select=mssql_select_db(MSSQL_DATABASE)or die(mssql_error());

$res = mssql_query("select * from Ergebnisse");
$num = mssql_num_rows($res);


Tabellenbeginn
echo "<table border>";

Überschrift
echo
"<tr>
<td></td>
<td>D1</td>
<td>D2</td>
<td>D3</td>
<td>D4</td>
<td>D5</td>
<td>D6</td>
<td>D7</td>
<td>Schluessel</td>
</tr>";

while ($dsatz = mssql_fetch_assoc($res))
{
echo "<tr>";
echo "<td><a href='Teil2_2.php?auswahl='" . $dsatz["Schluessel"] . '>' . $dsatz["Schluessel"] . '</td>"';
echo "<td>" . $dsatz["D1"] . "</td>";
echo "<td>" . $dsatz["D2"] . "</td>";
echo "<td>" . $dsatz["D3"] . "</td>";
echo "<td>" . $dsatz["D4"] . "</td>";
echo "<td>" . $dsatz["D5"] . "</td>";
echo "<td>" . $dsatz["D6"] . "</td>";
echo "<td>" . $dsatz["D7"] . "</td>";
echo "<td>" . $dsatz["Schluessel"] . "</td>";
echo "</tr>";
}
Tabellenende
echo "</table>";
?>
<p>
<input type="submit" value="Datensatz anzeigen">
</form>
</body>
</html>

Und ich habe dir auch die zweite Seite:

<html>
<body>
<?php
alle Fehler im Browser anzeigen
ini_set("diplay_errors",1);
error_reporting(E_ALL);

if (isset($_GET['auswahl']))
if (isset($auswahl))
{

define ('MSSQL_HOST','SQLSERVER');
define ('MSSQL_USER','sa');
define ('MSSQL_PASS','Passwort');
define ('MSSQL_DATABASE','Datenbank');

$db_link=mssql_connect(MSSQL_HOST,MSSQL_USER,MSSQL_PASS);
$select=mssql_select_db(MSSQL_DATABASE);


$sql = "SELECT * FROM Ergebnisse WHERE Schluessel = '" . $_GET['auswahl']."'";

$res = mssql_query($sql);
$dsatz = mssql_fetch_assoc($res);

echo "Führen Sie die Änderungen durch,<p>";
echo "betätigen Sie anschließend den Button<p>";
echo "<form action = 'Teil3_3.php' method = 'GET'>";

echo "<input name='D1' value='" . $dsatz["D1"] .
"'> D1<p>";
echo "<input name='D2' value='" . $dsatz["D2"] .
"'> D2<p>";
echo "<input name='D3' value='" . $dsatz["D3"] .
"'> D3<p>";
echo "<input name='D4' value='" . $dsatz["D4"] .
"'> D4<p>";
echo "<input name='D5' value='" . $dsatz["D5"] .
"'> D5<p>";
echo "<input name='D6' value='" . $dsatz["D6"] .
"'> D6<p>";
echo "<input name='D7' value='" . $dsatz["D7"] .
"'> D7<p>";
echo "<input name='sh' value='" . $dsatz["Schluessel"] .
"'> Schluessel<p>";
echo "<input type='hidden' name='orish'
value='auswahl'>";

echo "<input type='submit' ";
echo " value='Änderungen in DB speichern'><p>";
echo "<input type='reset'>";
echo "</form>";
}

else
echo "Es wurde kein Datensatz ausgewählt<p>";
?>
</body>
</html>

Gruß
Helmut
Bitte warten ..
Mitglied: 34678
14.10.2006 um 10:50 Uhr
Hallo!

Für PHP muss die Zeile korrekt so lauten:

echo "<td><a href='Teil2_2.php?auswahl=" . $dsatz["Schluessel"] . "'>" . $dsatz["Schluessel"] . "</td>";

Die doppelten Anführungszeichen schließen die einzelnen String-Teile ein, die per echo ausgegeben werden. Diese werden mit dem Punkt mit den Variablen aus dem Array konkatiniert. Die einfachen Anführungszeichen dienen zum Abgrenzen der URL im HREF-Attribut innerhalb des echo-Befehls. Würde man hier ebenfalls doppelte Anführungszeichen verwenden, so würde PHP dies als Ende des auszugebenden Strings ansehen und den o.g. Fehler ausgeben.

Falls man innerhalb des Strings trotzdem doppelte Anführungszeichen verwenden möchte, so muss man diese "escapen", d.h. mit einem vorangestellten Backslash versehen:

echo "Alfred ist ein \"Spieler\"";

ergibt als Ausgabe zum Beispiel:

Alfred ist ein "Spieler"

Dies aber nur zur Verdeutlichung, denn in Deinem Beispiel ist das nicht unbedingt nötig.

Gruß,
M*
Bitte warten ..
Mitglied: filippg
14.10.2006 um 12:46 Uhr
Hallo!

Für PHP muss die Zeile korrekt so
lauten:

echo "<td><a
href='Teil2_2.php?auswahl=" .
$dsatz["Schluessel"] .
"'>" .
$dsatz["Schluessel"] .
"</td>";

Da kann ich mich dir nur anschliessen... und beim rückblickenden Betrachten wird mir klar, dass ich mich mit meinen Anführungszeichen deutlich verzählt hatte.
Aber wie schon erwähnt: die Syntax überlasse ich eigentlich den Fragestellern...

Filipp
Bitte warten ..
Mitglied: helmuthelmut2000
14.10.2006 um 21:11 Uhr
Hallo,

Jetzt passt das genau wie ich mir das vorgestellt habe.
Und auserdem habe ich jetzt eine ganze Menge dazugelernt.

Vielen Dank.

Gruß
Helmut
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Backup
gelöst Datensicherung von Daten, auf denen die ganze Zeit gearbeitet wird (8)

Frage von Windows11 zum Thema Backup ...

Viren und Trojaner
AVAST Virenscanner müllt die ganze Festplatte zu (4)

Frage von swi170 zum Thema Viren und Trojaner ...

Windows Server
gelöst Login Kennwort für eine ganze Gruppe ändern (14)

Frage von Hendrik2586 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...