CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
21.01.2010, 12:40:11
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 36
Beiträge: 7
|
|
bestimmte Daten in einer Tabelle ändern
Bitte hilft mir, ich weiß nicht weiter.
ich lerne php erst seit paar wochen
folgenden Fall hab ich:
ich hab 2 tabellen (auftragsdaten & status) insgesammt,
eine spalte in (auftragsdaten) entspricht vielen Spalten in (Status).
-- ich möchte jetzt eine Funktion einbauen, die mir ermöglicht eine bestimmte spalte in (Status - 2 tabelle) zu ändern --
was ich bis jetzt hab ist hier =
______________________________________________________________________
<table border="0" width="95%" cellpadding="0" cellspacing="0"
<tr>
<td class="s12bl">Vorgang</td><td class="s12bl">Wer</td><td class="s12bl">Beginn</td><td class="s12bl">Ende</td><td class="s12bl">Bemerkung</td><td class="s12bl">OK</td><td class="s12bl">Zeitaufwand Angebot</td><td class="s12bl">Zeitaufwand Werkstatt</td><td class="s12bl">Erledigt</td>
</tr>
<?php
while ($rows = mysql_fetch_array($msql))
{
?>
<tr><td colspan="8"><hr noshade size="1"></tr>
<tr class="s10">
<td><?php echo $rows['vorgang']; ?></td>
<td><?php echo $rows['wer']; ?></td>
<td><?php echo $rows['beginn']; ?></td>
<td><?php echo $rows['ende']; ?></td>
<td><?php echo $rows['bemerkung']; ?></td>
<td><?php echo $rows['ok']; ?></td>
<td><?php echo $rows['zeitaufwandag']; ?></td>
<td><?php echo $rows['zeitaufwandwk']; ?></td>
<td><?php echo $rows['erledigt']; ?></td>
<?php
echo "<td align='center'><a href='aendern2_status.php?auftragsdaten_id=$row[auftragsdaten_id]'>Status ändern</a></td>";
?>
</tr>
<!-- Ende innere Tabelle -->
<?php
}
?>
</table>
<table border="0" cellpadding="0" cellspacing="10" align="center">
<tr>
<td><?php echo "<p class=s10 align=center><a href='neu_status.php?auftragsdaten_id=$row[auftragsdaten_id]'>Status anlegen</a></p>"?>
</td></tr>
</table>
______________________________________________________________________ ____
mit dieser fuktion lass ich mir bestimmte Daten aus der tabelle Status anzeigen und die ich dann mit einer weiteren funktion verwende, nähmlich update - und das funktioniert nicht- es übernimmt mir dann meine änderung gleich für alle spalten die mit Spalte aus der Auftragsdaten in verbindung steht!
in der tabelle auftragsdaten funktioniert dieser befehl wunderbar, aber jetzt hab ich wahrscheinlich etwas übersehen und meine suche anders gestalten muss!!
?????????????????????????????????????????????????????????????????????? ????????????????
______________________________________________________________________ ____
abfrage 1
---------------
<?php
function suchstring($text)
{
return strtr(strtolower(trim($text))," äöüß","%%%%%");
}
//Umwandlung der Eingabedaten in Kleinschrift, so das es egal ist
//ob man Groß- oder Kleinbuchstaben eingibt.
$lower_vorgang = suchstring($_POST[vorgang]) ;
$lower_wer = suchstring($_POST[wer]);
$lower_beginn = suchstring($_POST[beginn]);
$lower_ende = suchstring($_POST[ende]);
$lower_bemerkung = suchstring($_POST[bemerkung]);
$lower_ok = suchstring($_POST[ok]);
$lower_erledigt = suchstring($_POST[erledigt]);
$lower_zeitaufwandag = suchstring($_POST[zeitaufwandag]);
$lower_zeitaufwandwk = suchstring($_POST[zeitaufwandwk]);
$lower_aufwtragsdaten_id = suchstring($_POST[aufwtragsdaten_id]);
$msql = mysql_query(
"select status_id, vorgang, wer, beginn, ende, bemerkung, ok, erledigt, zeitaufwandag, zeitaufwandwk, auftragsdaten_id
from status
where lower(vorgang) like '%$lower_vorgang%'
and lower(wer) like '%$lower_wer%'
and lower(beginn) like '%$lower_beginn%'
and lower(ende) like '%$lower_ende%'
and lower(bemerkung) like '%$lower_bemerkung%'
and lower(ok) like '%$lower_ok%'
and lower(erledigt) like '%$lower_erledigt%'
and lower(zeitaufwandag) like '%$lower_zeitaufwandag%'
and lower(zeitaufwandwk) like '%$lower_zeitaufwandwk%'
and lower(auftragsdaten_id) like '%$lower_auftragsdaten_id%'
order by vorgang, wer, beginn
limit 300"
);
?>
______________________________________________________________________ ____
Abfrage 2
------------------------
<?php
include ('db_open.php');
$msql = mysql_query(
"select *
from status
where auftragsdaten_id like $_GET[auftragsdaten_id]");
include ('db_close.php');
$rows = mysql_fetch_array($msql);
?>
|
21.01.2010, 17:18:46
|
|
Member
|
|
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
|
|
AW: bestimmte Daten in einer Tabelle ändern
Hallo wiedenmann und willkommen im Forum,
das sind schlechte Karten mit denen du hier im Hilfe bittest, bitte verwenden die entsprechenden Forentags für deinen Quellcode um die potenziellen Helfer nicht abzuschrecken.
[CODE ] .. [/CODE]
[PHP ] .. [/PHP]
|
21.01.2010, 17:32:04
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
Beiträge: 1.044
|
|
AW: bestimmte Daten in einer Tabelle ändern
Nebenbei bemerkt fehlt dein Update, welches nicht funktioniert.
|
22.01.2010, 08:17:28
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 36
Beiträge: 7
|
|
AW: bestimmte Daten in einer Tabelle ändern
Mein views nocht mal, so wie es hier sein sollte
______________________________________________________________________ _____
HTML-Code:
</table>
<br>
<br>
<p class="s24" align="center" style="color:green">Statusverlauf</p>
<!--Statusabfrage sucht alles was mit dem aktuel ausgeählten Vorgang angelegt wurde-->
<?PHP
include ('../model/db_open.php');
include ('../model/abfrage1_status.php');
include ('../model/db_close.php');
include ('../model/abfrage2_status.php');
?>
<!-- Beginn innere Tabelle -->
<table border="0" width="95%" cellpadding="0" cellspacing="0"
<tr>
<td class="s12bl">Vorgang</td><td class="s12bl">Wer</td><td class="s12bl">Beginn</td><td class="s12bl">Ende</td><td class="s12bl">Bemerkung</td><td class="s12bl">Zeitaufwand Angebot</td><td class="s12bl">Zeitaufwand Werkstatt</td><td class="s12bl">Erledigt</td>
</tr>
<?php
while ($rows = mysql_fetch_array($msql))
{
?>
<tr><td colspan="8"><hr noshade size="1"></tr>
<tr class="s10">
<td><?php echo $rows['vorgang']; ?></td>
<td><?php echo $rows['wer']; ?></td>
<td><?php echo $rows['beginn']; ?></td>
<td><?php echo $rows['ende']; ?></td>
<td><?php echo $rows['bemerkung']; ?></td>
<td><?php echo $rows['zeitaufwandag']; ?></td>
<td><?php echo $rows['zeitaufwandwk']; ?></td>
<td><?php echo $rows['erledigt']; ?></td>
<?php
echo "<td align='center'><a href='aendern2_status.php'>Status ändern</a></td>";
?>
</tr>
<!-- Ende innere Tabelle -->
<?php
}
?>
</table>
<table border="0" cellpadding="0" cellspacing="10" align="center">
<tr>
<td><?php echo "<p class=s10 align=center><a href='neu_status.php?auftragsdaten_id=$row[auftragsdaten_id]'>Status anlegen</a></p>"?>
</td></tr>
</table>
|
22.01.2010, 08:24:03
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 36
Beiträge: 7
|
|
AW: bestimmte Daten in einer Tabelle ändern
Und mein Abfrage Code noch mal
Abfrage 1
PHP-Code:
<?php
function suchstring($text)
{
return strtr(strtolower(trim($text))," äöüß","%%%%%");
}
//Umwandlung der Eingabedaten in Kleinschrift, so das es egal ist
//ob man Groß- oder Kleinbuchstaben eingibt.
$lower_vorgang = suchstring($_POST[vorgang]) ;
$lower_wer = suchstring($_POST[wer]);
$lower_beginn = suchstring($_POST[beginn]);
$lower_ende = suchstring($_POST[ende]);
$lower_bemerkung = suchstring($_POST[bemerkung]);
$lower_ok = suchstring($_POST[ok]);
$lower_erledigt = suchstring($_POST[erledigt]);
$lower_zeitaufwandag = suchstring($_POST[zeitaufwandag]);
$lower_zeitaufwandwk = suchstring($_POST[zeitaufwandwk]);
$lower_aufwtragsdaten_id = suchstring($_POST[aufwtragsdaten_id]);
$lower_status_id = suchstring($_POST[status_id]);
$msql = mysql_query(
"select status_id, vorgang, wer, beginn, ende, bemerkung, erledigt, zeitaufwandag, zeitaufwandwk, auftragsdaten_id
from status
where lower(status_id) like '%$lower_status_id%'
and lower(vorgang) like '%$lower_vorgang%'
and lower(wer) like '%$lower_wer%'
and lower(beginn) like '%$lower_beginn%'
and lower(ende) like '%$lower_ende%'
and lower(bemerkung) like '%$lower_bemerkung%'
and lower(erledigt) like '%$lower_erledigt%'
and lower(zeitaufwandag) like '%$lower_zeitaufwandag%'
and lower(zeitaufwandwk) like '%$lower_zeitaufwandwk%'
and lower(auftragsdaten_id) like '%$lower_auftragsdaten_id%'
ORDER BY status_id
order by vorgang, wer, beginn
limit 300"
);
?>
______________________________________________________________________ _
Abfrage 2
PHP-Code:
<?php
include ('db_open.php');
$msql = mysql_query(
"select *
from status
where auftragsdaten_id like $_GET[auftragsdaten_id]");
include ('db_close.php');
$rows = mysql_fetch_array($msql);
?>
______________________________________________________________________ _
Mein UPDATE
PHP-Code:
<?php
include ('db_open.php');
mysql_query("
UPDATE status
SET
vorgang = '".$_POST['vorgang']."',
wer = '".$_POST['wer']."',
beginn = '".$_POST['beginn']."',
ende = '".$_POST['ende']."',
bemerkung = '".$_POST['bemerkung']."',
ok = '".$_POST['ok']."',
erledigt = '".$_POST['erledigt']."',
zeitaufwandag = '".$_POST['zeitaufwandag']."',
zeitaufwandwk = '".$_POST['zeitaufwandwk']."',
auftragsdaten_id = '".$_POST['auftragsdaten_id']."'
WHERE status_id = '".$_POST['status_id']."'");
include ('db_close.php');
?>
es liegt wahrscheinlich an dem, dass ich zuerst in der abfrage 2 nach auftragsdaten_id suche und beim update mich auf status_id beziehe, ich will von den rausgesuchten daten aus der ersten tabelle - in der zweiten nur eine spalte ändern aus vielen!
|
22.01.2010, 10:55:58
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: bestimmte Daten in einer Tabelle ändern
hi
wenn du nur eine spalte updaten willst wieso schreibst du ein update auf so viele?
PHP-Code:
<?php
//Bsp
if(isset($_POST['vorgang'])){
$updateext.="vorgang = '".$_POST['vorgang']."',";
}
/*alle anderen */
if(isset($updateext) && isset($_POST['status_id'])){
include ('db_open.php');
mysql_query("
UPDATE status
SET
".substr($updateext,0,-1)."
WHERE status_id = '".$_POST['status_id']."'");
include ('db_close.php');
}else{
/*ausgabe wenn kein feld gesetzt*/
}
?>
mfg
Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
22.01.2010, 12:26:57
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 36
Beiträge: 7
|
|
AW: bestimmte Daten in einer Tabelle ändern
hi,
ich hock zurzeit an einer kleinen webanwendung in der ich in der ersten Tabelle (auftragsdaten) eingeben kann. das wird eine 1 Zeile für einen Auftrag. und dann
möchte ich noch information zum auftrag eingeben in Tabelle (status) das sind ca. 4 Zeilen aus der Tabelle
Bsp.
(Auftragsdaten_id)=1 (Status_id)=1
(Status_id)=2
(Status_id)=3
(Auftragsdaten_id)=2 (Status_id)=4
(Status_id)=5
(Status_id)=6
und wenn ich jetzt (auftragsdaten_id)=2 (status_id)=6 ändern möchte, wird es bei den restlichen zeilen auch mit geändert
am besten setzte ich komplett alles schritte nach einander hier ein damit man sehen kann was ich da mach
|
22.01.2010, 13:02:54
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 36
Beiträge: 7
|
|
AW: bestimmte Daten in einer Tabelle ändern
mein problem beginnt schon beim aufrufen von daten.
ich kann nur immer den selben datensatz aufmachen zum ändern, und wenn ich den abspeicher dann übernimmt es gleich für alle anderen mit!
|
22.01.2010, 17:20:57
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
Beiträge: 1.044
|
|
AW: bestimmte Daten in einer Tabelle ändern
Zum Update hast du ja schon eine Antwort bekommen, die eigentlich funktionieren sollte. Was mich etwas verwirrt ist folgender Select:
PHP-Code:
$msql = mysql_query(
"select status_id, vorgang, wer, beginn, ende, bemerkung, erledigt, zeitaufwandag, zeitaufwandwk, auftragsdaten_id
from status
where lower(status_id) like '%$lower_status_id%'
and lower(vorgang) like '%$lower_vorgang%'
and lower(wer) like '%$lower_wer%'
and lower(beginn) like '%$lower_beginn%'
and lower(ende) like '%$lower_ende%'
and lower(bemerkung) like '%$lower_bemerkung%'
and lower(erledigt) like '%$lower_erledigt%'
and lower(zeitaufwandag) like '%$lower_zeitaufwandag%'
and lower(zeitaufwandwk) like '%$lower_zeitaufwandwk%'
and lower(auftragsdaten_id) like '%$lower_auftragsdaten_id%'
ORDER BY status_id
order by vorgang, wer, beginn
limit 300"
);
Alle Werte werden bei dir zuvor mit function suchstring behandelt und zusätzlich gibst du im Select noch LOWER() an. Ich gehe doch einmal davon aus, daß hier viele Daten auf Zahlen basieren. Die IDs, Beginn und Ende und der Zeitaufwand basieren doch bestimmt auf Zahlen, Datumseingaben und Zeitangaben. Diese Umwandeln bringt eigentlich schon mal nix.
Zusätzlich suchst du per LIKE wo statusid und auftrags_id vorhanden sein muß.
Was willst du mit diesem Select eigentlich erreichen?
|
27.01.2010, 12:55:51
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 36
Beiträge: 7
|
|
AW: bestimmte Daten in einer Tabelle ändern
ich hab ein kleines Formular erstellt, mit dem ich all die sachen dann aufrufen kann, das ist alles.
mit umwandeln hast du recht, es ist nur einfacher für mich gewesen, diese funktion aus einer früheren arbeit zu kopieren.
mittlerweile hab ich soweit fast alles gemacht. ich dank euch für die hilfe
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:42:32 Uhr.
|