Regel break op nieuw karakter
Ik haal een overzicht uit de database waar kolom data kan beginnen met 3 verschillende vormen: I12345 - INC12345 - COH12345
Nu wordt het netjes op volgorde gesorteerd maar wat ik graag zou willen is dat zodra I regels klaar zijn en de INC regels beginnen er eerst een lege regel wordt gegeven om er een beter overzicht van te maken. Die regel zou ik dan ook nog wel een kleurtje willen geven. Wie heeft hier een simpele oplossing voor??
Gewijzigd op 01/01/1970 01:00:00 door Rob
Dan moet je de letters en de cijfers apart opslaan in de database. Je kunt dan "ORDER BY letters, cijfers" doen, dan sorteert hij eerst op letters en dan op cijfers. Met PHP kun je dan de twee waarden aan elkaar plakken tot één woord/whatever.
Edit:
Triplepost :S
Gewijzigd op 01/01/1970 01:00:00 door - -
Edit:
Triplepost :S
Gewijzigd op 01/01/1970 01:00:00 door - -
Gewijzigd op 01/01/1970 01:00:00 door Rob
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
$query = "SELECT COUNT(IPC) AS aantal, SUM(Parentpr) AS parent, SUM(Childpr) AS child, CURRENT_DATE(), submission_date, DATEDIFF(CURRENT_DATE(), MIN(submission_date)) AS verschil, IPC, submission_id, Part_Family, Request_Type, Description, Parentpr, Childpr, Prio, MAX(Description) FROM ft_form_4 WHERE status = 'open' GROUP BY IPC ORDER BY Part_Family, Request_Type ASC";
$sql = mysql_query ($query) or die (mysql_error());
if ($sql && mysql_num_rows($sql) >= 1)
{
[/code]
en het op te bouwen overzicht:
[code][code]<?
while ($row= mysql_fetch_array ($sql)){
echo '<tr><td><a href="detail.php?id='.$row['submission_id'].'">'.$row['IPC'].'</a></td>';
echo '<td>'.$row['submission_date'].'</td>';
echo '<td>'.$row['verschil'].'</td>';
echo '<td>'.$row['aantal'].'</td>';
echo '<td>'.$row['parent'].'</td>';
echo '<td>'.$row['child'].'</td>';
echo "<td>".$row['Part_Family']."</td>";
echo "<td>".$row['Request_Type']."</td>";
echo "<td>".$row['Description']."</td></tr>";
}
[/code]
$query = "SELECT COUNT(IPC) AS aantal, SUM(Parentpr) AS parent, SUM(Childpr) AS child, CURRENT_DATE(), submission_date, DATEDIFF(CURRENT_DATE(), MIN(submission_date)) AS verschil, IPC, submission_id, Part_Family, Request_Type, Description, Parentpr, Childpr, Prio, MAX(Description) FROM ft_form_4 WHERE status = 'open' GROUP BY IPC ORDER BY Part_Family, Request_Type ASC";
$sql = mysql_query ($query) or die (mysql_error());
if ($sql && mysql_num_rows($sql) >= 1)
{
[/code]
en het op te bouwen overzicht:
[code][code]<?
while ($row= mysql_fetch_array ($sql)){
echo '<tr><td><a href="detail.php?id='.$row['submission_id'].'">'.$row['IPC'].'</a></td>';
echo '<td>'.$row['submission_date'].'</td>';
echo '<td>'.$row['verschil'].'</td>';
echo '<td>'.$row['aantal'].'</td>';
echo '<td>'.$row['parent'].'</td>';
echo '<td>'.$row['child'].'</td>';
echo "<td>".$row['Part_Family']."</td>";
echo "<td>".$row['Request_Type']."</td>";
echo "<td>".$row['Description']."</td></tr>";
}
[/code]
Gewijzigd op 01/01/1970 01:00:00 door Rob
Je kunt ook een script schrijven dat de records voor je ombouwt. Met preg_match of preg_replace ofzo moet je een eind kunnen komen. Je selecteert dan alle rijen, splitst ze op letters en cijfers en slaat die gescheiden op in de database.
Nou volgens mij heb je het niet goed gelezen. Zoals ik al zei in mijn vorige post is dat het ook op deze manier in de DB wordt gezet. Dit zijn standaard nummers waar ik niks aan kan doen. En om nu van allerlei omwegen te gaan verzinnen om ze eerst uit elkaar te slopen apart op te slaan en daarna weer aan elkaar te plakken......
Rob schreef op 22.08.2007 11:37:
Wat wil je dan? De data nog verder verneuken en zo nog veel verder in de problemen komen? Het is maar waar je zin in hebt...Helaas gaat dat niet meer. zijn zo'n 30.000 records. heb niet zoveel trek om dat aan te passen. En ze worden ook op die manier in de db gepompt. Moet toch veel simpeler kunnen. Ik dacht zelf aan een string maar weet niet goed hoe dit op te pakken.
1 gegeven sla je op in 1 record.
En dat jij de boel verkeerd in de database wegschrijft, meerdere gegevens in 1 record, wil natuurlijk niet zeggen dat dit goed is...
Ga nu een oplossing zoeken voor de problemen, een lapmiddel brengt je alleen maar verder in de problemen. Mocht dat niet vandaag zijn, dan gebeurd dat morgen wel. We helpen je daar graag bij!
en @pgFrank.. waarom zou die data 'verneukt' worden. het is maar output wat dit script genereert en opslaan gebeurt op een totaal andere wijze.
Gewijzigd op 01/01/1970 01:00:00 door Rob