ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
380
380
EMPFEHLEN
-
Hallo!
Ich muss vorweg sagen dass ich Anfänger bin
Nun zu meinem Problem:
Ich möchte gerne in einer selbst erstellten Datenbank die Anzahl der Datensätze in einer
Textbox anzeigen lassen, ich weis zwar das es irgendwie mit “SELECT COUNT(*) FROM bndlaender“ gehen muss, glaub ich halt.
Aber allerdings weis ich nicht wie ich das an die Datenbank schicken muss und wie man das Ergebnis dann in einer Textbox ausgeben lassen kann.
ICH BITTE UM EURE HILFE!
Danke schon mal in voraus um eure Bemühungen
Mfg Martin
-
Hallo,
als erstes brauchst du eine Verbindung zur Datenbank welche du mit dem Befehl:
"mysql_connect" aufbauen kannst!
Erstelle zunächst eine Datei mit Namen "connect.php" in der du folgender Inhalt hinzufügst:
als nächstes gehst du in dein phpMyAdmin und erstellst eine Neue Datenbank die du oben in der "connect.php" Datei eingestellt hast!PHP-Code:<?php
$dburl = "localhost"; //füge hier die Datenbank URL ein, in der Regel: localhost!
$dbloginname = "root"; //füge hier deinen Login Namen ein, in der Regel: root!
$dbpassword = ""; //füge hier dein Login Passwort ein!
$dbname = "laender"; //füge hier deinen Datenbank Name ein!
$connecterror = "Keine Verbindung zur Datenbank"; //füge hier deine Nachricht ein wenn die Verbindung scheitern sollte!
//Nicht editieren
mysql_connect ($dburl, $dbloginname, $dbpassword);
if (!mysql_select_db ($dbname))
{
die ($connecterror);
} ?>
In dieser Datenbank gibst du nun folgendes in deine SQL Konsole ein:
CREATE DATABASE `laender`; lässt eine neue Datenbank entstehenPHP-Code:CREATE DATABASE `laender`;
CREATE TABLE `laender`.`bndlaender` (
`id` INT( 255 ) NOT NULL AUTO_INCREMENT ,
`bndlaender` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM
CREATE TABLE `laender`.`bndlaender` lässt eine neue Tabelle namens bndlaender in der Datenbank laender entstehen
die Werte die darauf folgen sind Spalten die erstellt werden!
Somit ist also die Spalte:
"id" welcher ein INTEGER Wert ist (INT meist für Ziffern vorgesehn) auf den Wert AUTO_INCREMENT eingestellt! Heisst: Die Zahl steigt Automatisch: 1, 2, 3... etc... Anhand dieses Automatischen Vorgangs wird nachher festgestellt wieviele Einträge du in deiner Tabelle hast!
Und die Spalte
"bndlaender" welcher ein TEXT Typ ist (Kann bis zu 550 Zeichen enthalten)
hat den TEXT Wert gespeichert!
Gut somit das nun geklärt ist fahren wir fort und zwar erstellen wir eine neue php datei Namen: "land_eintragen.php" die wir mit folgendem Inhalt füllen:
Diese Datei wird das Formular welches wir brauchen um einen Wert in die Datenbank zu übertragen!HTML-Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Land einfügen</title> </head> <body> <form action="wert_eintragen.php" method="post"> <div align="center"> <strong>Land hinzufügen:</strong><br> <table width="414" border="1"> <tr> <td width="98" nowrap>Landes Name: <td width="300"><input name="land" type="text" id="land" size="50" maxlength="50"></td> </tr> </table> </div> <label> <div align="center"> <input type="submit" name="button" id="button" value="Hinzufügen" /> <label> <input type="reset" name="button2" id="button2" value="Zurücksetzen"> </label> </div> </label> </form> </body> </html>
Als nächstes müssen wir das Formular an eine Datei weiterreichen! Erstellen wir also eine neue Datei Namens: "wert_eintragen.php" die wie folgt aussieht:
Als letztes fehlt nur noch die "land_anzeigen.php":PHP-Code:<?php
//Werte vom Formular in die Variable $landname einlesen
$landname = $_POST[land];
echo $landname;
//Datenbank verbindung öffnen
include('connect.php');
//Datenbank Anweisung in die Variable $sql einlesen
$sql = "INSERT INTO ".
"bndlaender (bndlaender) ".
"VALUES ('".$landname."')";
//Werte von $sql in die Datenbank eintragen
mysql_query ($sql);
//Anschliessend die Seite laden:
include("land_anzeigen.php");
?>
So nur noch Uploaden und dann sollte es funktionieren!PHP-Code:<html>
<head>
<title>Unbenanntes Dokument</title>
<style type="text/css">
<!--
.Überschrift {
color: #FF0000;
font-family: Arial, Helvetica, sans-serif;
}
.Feldbezeichner {
color: #999999;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
}
-->
</style>
</head>
<body>
<div align="center">
<table>
<?php
$id = $_GET["id"];
include('connect.php');
$res = mysql_query("SELECT * FROM bndlaender ORDER BY id DESC"); // Hier werden die Länder nach ID sortiert! DESC bedeutet das die Werte aufsteigend sortiert sind!
while($row = mysql_fetch_array($res))
{
?>
<td width="98" nowrap="nowrap" bordercolor="#CCCCCC" bgcolor="#CCCCCC"><div align="center"><span class="Stil14"><font face="Tahoma" size="2"><?php echo $row["id"]; ?></font></span></div></td>
<td width="300" bordercolor="#CCCCCC" bgcolor="#333333"><div align="center" class="Stil14"><font face="Tahoma" size="2"><?php echo $row["bndlaender"]; ?></font></div></td>
</tr>
<tr>
<td nowrap="nowrap" bordercolor="#CCCCCC" bgcolor="#FFFFFF" class="Feldbezeichner"> </td>
<td bordercolor="#CCCCCC" bgcolor="#FFFFFF"><div align="center" class="Stil14"></div></td>
</tr>
<?php } ?>
</table>
</div>
</body>
</html>Geändert von Profundi (17.11.08 um 07:55 Uhr)
>>Kron-X Designs<<
<--------------------------------------------------->
Niceware - I swear I did something nice!
PROFUNDI REACHED:
Fatal error: Maximum execution time of 30 seconds exceeded in H:\-XTestfiles\for\for.php on line 16
AFTER RUNNING
PHP-Code:<?php
$lol=1;
for ($lol; $lol <= 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; $lol++)
{
echo "| LOL |";
}
?>
!!/\/\0/\/5/-\1337!!
-
Ou Sh** hab erst jetzt gesehn dass es sich nicht um PHP handelt

Ne Stunde Arbeit umsonst... Naja
Ich hoffe trotzdem ich konnte dir helfen!
LG>>Kron-X Designs<<
<--------------------------------------------------->
Niceware - I swear I did something nice!
PROFUNDI REACHED:
Fatal error: Maximum execution time of 30 seconds exceeded in H:\-XTestfiles\for\for.php on line 16
AFTER RUNNING
PHP-Code:<?php
$lol=1;
for ($lol; $lol <= 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; $lol++)
{
echo "| LOL |";
}
?>
!!/\/\0/\/5/-\1337!!
-
Hallo Profundi!
Danke für deine Hilfe erstmal!
Hab jetzt nur folgendes Problem da es sich ja nicht um PHP handelt und ich leider ein voll Blutiger Anfänger bin, hab ich jetzt keine Ahnung wie ich deinen Code ändern müsste das ich ihn bei meinen Problem einsetzten kann!?
Du hast dich wirklich sehr bemüht mir zu helfen, kannst du mir vielleicht noch weiter helfen?
Hab schon folgendes Probiert:
SqlConnection ^verbindung = gcnew SqlConnection(verbindungsstr);
verbindung->Open( );
SqlCommand ^befehl = gcnew SqlCommand( );
befehl->Connection = verbindung;
befehl->CommandText = “SELECT COUNT(*) FROM bndlaender“;
leser = befehl->ExecuteReader( );
Nur weiter komme ich nicht!
Vorausgesetzt dass das überhaupt stimmt .
Mfg Martin
-
17.11.08 14:52 #5
Hallo Smile,
ich würde dir empfehlen, die Klassen CDatabase und CRecordset zu verwenden.
Dazu müsstest du über die Systemsteuerung eine ODBC-Verbindung zu deiner Datenbank einrichten.
Dann kannst du die Datenbank wie folgt connecten:
Code :1 2 3 4 5 6 7
CString dbConnectString; dbConnectString.Format("DSN=%s;UID=%s;PWD=%s", myDSN, myUsername, myPassword); CDatabase db; if( !db.OpenEx(dbConnectString,0 ) ) { // Fehler beim Verbinden aufgetreten return FALSE; }
Normale Statements wie UPDATE, INSERT und so (alles was keine Ergebnisliste zurückgibt) kannst du direkt über das CDatabase-Objekt absetzen.
Code :1 2
CString stmt = "update d set a = 'bla', b = 'blubb' where c = 'würg'; db.ExecuteSQL(stmt);
So kannst du Select-Statements absetzen und die Resultate auslesen
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
CString stmt = "select a, b, c from d"; CRecordset rs(&db); if( rs.Open(CRecordset::snapshot, stmt, CRecordset::none ) && !rs.IsEOF()) { rs.MoveFirst(); CString a,b,c; while( !rs.IsEOF() ) { rs.GetFieldValue((short)0, a); rs.GetFieldValue((short)1, b); rs.GetFieldValue((short)2, c); rs.MoveNext(); } }
Und am Ende natürlich deine Connection wieder schließen.
Code :1
dc.Close();
Um mit diesen Methoden arbeiten zu können musst du folgenden include hinzufügen :
Code :1
include "afxdb.h"
Vielleicht bringts dich ja weiter..
Viel Erfolg,
PitDer Computer wird das tun, was du programmierst - nicht das, was du willst ;-)
-
Hallo pschilling!
Danke auch für deine Hilfe!!
Habe aber jezt mein Problem anderst gelöst,
int count=bindingSource1->Count;
textBox1->Text=Convert::ToString(count);
Trotzdem vielen Dank für eure Hilfe
Mfg Martin
Ähnliche Themen
-
PHP Code aus Datenbak ausführen
Von proloser im Forum PHPAntworten: 10Letzter Beitrag: 27.01.07, 18:46 -
Array zur Datenbak hinzufügen?
Von dumm im Forum PHPAntworten: 7Letzter Beitrag: 11.03.06, 08:52 -
Hyperlinks in Datenbak usw.
Von son gohan im Forum PHPAntworten: 11Letzter Beitrag: 02.08.05, 22:28 -
Datenbak
Von Flash2034 im Forum PHPAntworten: 5Letzter Beitrag: 20.10.02, 13:38 -
datenbak remoten
Von vsitor im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 04.10.02, 12:38





Zitieren
Login






